:root { --ease: cubic-bezier(.2,.75,.2,1); }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; }
body.loading { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
.micro { font-size: 10px; letter-spacing: .28em; }

/* Entry */
.entry { position: fixed; z-index: 1000; inset: 0; display: grid; place-content: center; justify-items: center; overflow: hidden; transition: opacity .7s var(--ease),visibility .7s; }
.entry::before { content:"";position:absolute;left:50%;top:50%;width:160px;height:160px;border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.18);pointer-events:none; }
.entry>* { position:relative;z-index:2; }
.entry.done { opacity: 0; visibility: hidden; pointer-events: none; }
.entry-orbit { position: relative; width: 112px; height: 112px; display: grid; place-items: center; margin-bottom: 20px; transition:transform .5s var(--ease),opacity .35s,margin .45s var(--ease); }
.entry-orbit i { position: absolute; inset: 8px; border: 1px solid; border-radius: 50%; animation: orbit 2.2s linear infinite; }
.entry-orbit i:nth-child(2) { inset: 22px; animation-direction: reverse; animation-duration: 1.6s; }
.entry-orbit i:nth-child(3) { inset: 36px; animation-duration: 1.1s; }
.entry-orbit i::after { content:""; position:absolute; top:-3px; left:50%; width:6px; height:6px; border-radius:50%; background:currentColor; box-shadow:0 0 15px currentColor; }
.entry-orbit b { font-size: 22px; }
.entry p { margin: 8px 0 22px; font-size: 11px; letter-spacing: .16em; }
.entry .entry-greeting { max-width:min(720px,86vw);max-height:0;margin:0;overflow:hidden;text-align:center;font-size:clamp(31px,5.2vw,58px);font-weight:700;line-height:1.05;letter-spacing:.08em;opacity:0;transform:translateY(15px) scale(.96);transition:max-height .55s var(--ease),margin .55s var(--ease),opacity .45s,transform .55s var(--ease); }
.entry .entry-status { margin:0;opacity:0;transform:translateY(8px);transition:opacity .4s .12s,transform .5s .12s var(--ease); }
.entry.greeting-ready .entry-orbit { margin-bottom:14px;opacity:.92;transform:translateY(-6px) scale(.88); }
.entry.greeting-ready .entry-greeting { max-height:82px;margin:0 0 12px;opacity:1;transform:none; }
.entry.greeting-ready .entry-status { opacity:.68;transform:none; }
.entry.unfold::before { animation:entry-expand .95s var(--ease) forwards; }
.entry.unfold>*:not(button) { opacity:0;transform:translateY(-18px) scale(.98);transition:opacity .38s,transform .46s var(--ease); }
.entry.unfold .entry-orbit,.entry.unfold .entry-greeting,.entry.unfold .entry-status { opacity:0;transform:translateY(-18px) scale(.98); }
.entry.unfold button { opacity:0;transition:opacity .24s; }
.entry button { position: absolute; z-index:3; right: 28px; bottom: 25px; border: 0; background: transparent; font-size: 9px; letter-spacing: .16em; opacity: .55; cursor: pointer; }
@keyframes orbit { to { transform:rotate(360deg); } }
@keyframes entry-expand { 0%{opacity:0;transform:translate(-50%,-50%) scale(.18)} 30%{opacity:.72} 100%{opacity:0;transform:translate(-50%,-50%) scale(18)} }

/* Shared structure */
.site-nav { position: fixed; z-index: 30; top: 0; left: 0; right: 0; height: 76px; padding: 0 4vw; display: flex; align-items: center; justify-content: space-between; transition: .4s var(--ease); }
.logo { display: flex; align-items: center; gap: 12px; font-size: 11px; letter-spacing: .18em; }
.logo span { display: grid; place-items: center; width: 31px; height: 31px; }
.site-nav nav { display: flex; align-items: center; gap: 34px; font-size: 10px; letter-spacing: .12em; }
.site-nav nav a { opacity: .64; transition: opacity .25s; }.site-nav nav a:hover { opacity: 1; }
.switch { padding: 10px 14px; font-size: 9px; letter-spacing: .1em; }
.cover { position: relative; height: 100svh; min-height: 650px; overflow: hidden; color: #fff; }
.cover-image,.cover-overlay,#ambient { position: absolute; inset: 0; width: 100%; height: 100%; }
.cover-image { background-position: center; background-size: cover; transform: scale(1.04); animation: cover-in 2.3s .9s var(--ease) both; }
.cover-copy { position: absolute; z-index: 3; left: 7vw; top: 50%; width: min(590px,44vw); transform: translateY(-45%); }
.cover-copy h1 { margin: 22px 0 26px; font-size: clamp(51px,5.6vw,91px); line-height: 1.08; letter-spacing: -.055em; }
.cover-copy h1 em { display: inline-block; font-style: normal; }
.cover-copy p { margin: 0 0 29px; padding-left: 17px; font-size: 13px; line-height: 1.9; letter-spacing: .05em; }
.primary { display: inline-flex; align-items: center; gap: 28px; padding: 13px 19px; font-size: 10px; letter-spacing: .14em; transition: transform .3s; }.primary:hover { transform: translateY(-3px); }.primary i { font-style:normal;font-size:16px; }
.cover-note { position: absolute; z-index: 3; left: 4vw; right: 4vw; bottom: 26px; display: flex; justify-content: space-between; font-size: 8px; letter-spacing: .21em; opacity: .58; }
.mouse { position:absolute;z-index:3;left:50%;bottom:48px;width:27px;height:44px;border:1px solid rgba(255,255,255,.4);border-radius:20px; }.mouse i { position:absolute;top:8px;left:50%;width:3px;height:7px;border-radius:4px;background:#fff;animation:mouse 1.7s infinite; }
@keyframes mouse { from { transform:translate(-50%,0);opacity:0; } 35% { opacity:1; } to { transform:translate(-50%,18px);opacity:0; } }
@keyframes cover-in { from { transform:scale(1.14);filter:blur(8px); } to { transform:scale(1.04);filter:blur(0); } }

.page { min-height:100vh;padding:120px 5vw 150px; }
.page-title { max-width:1380px;margin:0 auto 68px;display:grid;grid-template-columns:1fr auto;align-items:end; }
.page-title .micro { grid-column:1/-1;margin-bottom:15px; }.page-title h2 { margin:0;font-size:clamp(40px,4.7vw,69px);line-height:1.1;letter-spacing:-.04em; }.page-title p { width:390px;margin:0;font-size:12px;line-height:1.9; }
.content-grid { max-width:1380px;margin:auto;display:grid;grid-template-columns:235px minmax(520px,1fr) 240px;gap:28px;align-items:start; }
.author { position:sticky;top:92px;padding:27px 24px;overflow:hidden; }.avatar { position:relative;display:grid;place-items:center;width:70px;height:70px;margin-bottom:28px;font-size:27px; }.avatar span { position:absolute;right:-7px;bottom:-5px;font-size:10px; }.author h3 { margin:13px 0;font-size:17px; }.author>p { margin:0;font-size:11px;line-height:1.9; }.numbers { display:flex;justify-content:space-between;margin:25px 0;padding:20px 0; }.numbers b { display:grid;gap:4px;font-size:18px;font-weight:500; }.numbers small { font-size:7px;letter-spacing:.1em;font-weight:400; }.social { display:flex;gap:9px; }.social a { display:grid;place-items:center;width:31px;height:31px;font-size:8px; }
.story-list { display:grid;gap:18px; }.lead-story { min-height:475px;position:relative;display:flex;align-items:end;overflow:hidden;color:#fff; }.story-art { position:absolute;inset:0;background-position:center;background-size:cover;transition:transform .7s var(--ease); }.lead-story:hover .story-art { transform:scale(1.04); }.lead-story>div:last-child { position:relative;z-index:2;padding:37px;width:100%; }.lead-story .tag { display:inline-block;margin-right:12px;padding:6px 10px;font-size:8px;letter-spacing:.1em; }.lead-story small { font-size:8px;letter-spacing:.14em;opacity:.65; }.lead-story h3 { margin:16px 0 10px;font-size:clamp(28px,3vw,43px);line-height:1.28; }.lead-story p { max-width:570px;margin:0 0 18px;font-size:11px;line-height:1.8;opacity:.65; }.lead-story a,.mini a { font-size:9px;letter-spacing:.12em; }.lead-story a i { margin-left:15px;font-style:normal; }
.mini-grid { display:grid;grid-template-columns:1fr 1fr;gap:18px; }.mini { min-height:260px;padding:30px;position:relative; }.mini>span { font-size:8px;letter-spacing:.16em; }.mini h3 { margin:22px 0 13px;font-size:21px;line-height:1.45; }.mini p { font-size:11px;line-height:1.8; }.mini a { position:absolute;left:30px;bottom:27px; }
.side { display:grid;gap:18px; }.calendar-card,.mood,.quote { padding:22px; }.calendar-card header { display:flex;justify-content:space-between;margin-bottom:20px;font-size:10px;letter-spacing:.12em; }.week,.days { display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center; }.week { margin-bottom:8px; }.week i { font-size:7px;font-style:normal;opacity:.42; }.days span { position:relative;display:grid;place-items:center;aspect-ratio:1;font-size:8px; }.days .today { border-radius:50%; }.days .post::after { content:"";position:absolute;bottom:1px;width:2px;height:2px;border-radius:50%;background:currentColor; }.mood span { display:block;font-size:8px;letter-spacing:.15em;opacity:.55; }.mood b { display:block;margin:15px 0 8px;font-size:19px; }.mood p { margin:0;font-size:8px;opacity:.5; }.quote>b { font-size:37px;line-height:1; }.quote p { margin:-5px 0 0;font-size:16px;line-height:1.7; }
.reveal { opacity:0;transform:translateY(28px);transition:opacity .75s,transform .75s var(--ease); }.reveal.visible { opacity:1;transform:none; }
.music { position:fixed;z-index:40;right:25px;bottom:24px;display:flex;align-items:center;gap:11px;min-width:225px;padding:9px 15px 9px 9px;backdrop-filter:blur(18px); }.music button { width:39px;height:39px;border:0;cursor:pointer; }.music button i { font-style:normal;font-size:8px; }.music>div { display:grid;flex:1; }.music small { font-size:6px;letter-spacing:.16em;opacity:.48; }.music b { font-size:9px; }.waves { display:flex;align-items:center;gap:2px;height:16px; }.waves i { width:2px;height:4px; }.music.playing .waves i { animation:wave .65s ease-in-out infinite alternate; }.music.playing .waves i:nth-child(2){animation-delay:.15s}.music.playing .waves i:nth-child(3){animation-delay:.3s}.music.playing .waves i:nth-child(4){animation-delay:.45s}@keyframes wave{to{height:15px}}
.time-widget { position:fixed;z-index:39;left:25px;bottom:24px;display:flex;align-items:center;gap:12px;min-width:224px;padding:11px 15px;backdrop-filter:blur(18px);opacity:0;transform:translateY(12px) scale(.98);transition:opacity .48s var(--ease),transform .48s var(--ease); }
body:not(.loading) .time-widget { opacity:1;transform:none; }
.time-dot { position:relative;display:block;flex:0 0 auto;width:36px;height:36px;border-radius:50%; }
.time-dot::before { content:"";position:absolute;inset:11px;border-radius:50%;background:currentColor;box-shadow:0 0 18px currentColor; }
.time-dot::after { content:"";position:absolute;inset:4px;border:1px solid currentColor;border-radius:50%;opacity:.32;animation:time-pulse 1.9s ease-in-out infinite; }
.time-main { display:grid;gap:3px; }
.time-main small { font-size:7px;letter-spacing:.18em;opacity:.55; }
.time-main time { font-size:18px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.08em; }
.time-date { margin-left:auto;font-size:8px;letter-spacing:.12em;opacity:.52;white-space:nowrap; }
@keyframes time-pulse { 50%{inset:0;opacity:.08} }

@media(max-width:1100px){.content-grid{grid-template-columns:210px 1fr}.side{grid-column:1/-1;grid-template-columns:1fr 1fr 1fr}.story-list{grid-column:2;grid-row:1}.author{grid-row:1}.cover-copy{width:54vw}}
@media(max-width:760px){.site-nav{height:64px;padding:0 18px}.site-nav nav{display:none}.switch{font-size:0}.switch::after{content:"↗";font-size:13px}.cover{min-height:620px}.cover-image{background-position:58% center}.cover-copy{left:23px;right:23px;top:auto;bottom:110px;width:auto;transform:none}.cover-copy h1{font-size:clamp(42px,13vw,62px)}.cover-copy p br{display:none}.cover-note{left:22px;right:22px}.mouse{display:none}.page{padding:85px 18px 120px}.page-title{display:block}.page-title p{width:auto;margin-top:22px}.content-grid{display:block}.author{position:relative;top:auto;margin-bottom:18px}.lead-story{min-height:510px}.lead-story>div:last-child{padding:25px}.mini-grid{grid-template-columns:1fr;margin-top:18px}.side{display:grid;grid-template-columns:1fr;margin-top:18px}.music{right:13px;bottom:13px}.time-widget{left:13px;bottom:86px;min-width:190px;max-width:calc(100vw - 26px);gap:9px;padding:9px 12px}.time-dot{width:30px;height:30px}.time-main time{font-size:15px}.time-date{display:none}.entry .entry-greeting{font-size:clamp(28px,9vw,42px);letter-spacing:.04em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Companion edition */
.companion { color:#4f4a54;background:#fffaf2;font-family:"DM Sans","Zen Maru Gothic","Noto Sans SC",sans-serif; }
.companion .entry { color:#62576b;background:radial-gradient(circle at 50% 40%,#fff 0,#fff8df 32%,#dff6ff 74%,#d8d3ff); }
.companion .entry::before { background:radial-gradient(circle,rgba(255,255,255,.94),rgba(255,210,95,.38) 42%,rgba(112,221,242,.16) 62%,transparent 72%); }
.companion .entry-orbit i { color:#ffb55f;border-color:rgba(99,159,193,.25); }
.companion .entry-orbit b { font-size:27px;filter:drop-shadow(0 7px 9px rgba(106,75,65,.18)); }
.companion .entry-greeting { color:#554b58;text-shadow:0 8px 28px rgba(103,81,91,.14); }
.companion .entry button { color:#665a6b; }
.companion .site-nav { color:#fff; }.companion .site-nav.scrolled { top:12px;left:2vw;right:2vw;height:60px;color:#59505d;background:rgba(255,251,242,.87);border:1px solid rgba(255,255,255,.86);border-radius:24px;backdrop-filter:blur(18px);box-shadow:0 14px 48px rgba(69,60,82,.13); }
.companion .logo span { border-radius:50% 50% 45% 45%;font-weight:700;background:#ffcd57;color:#55464d;border:3px solid rgba(255,255,255,.8);box-shadow:0 5px 15px rgba(50,39,55,.13); }.companion .site-nav nav { padding:10px 20px;border-radius:18px;background:rgba(17,24,50,.18);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px); }.companion .scrolled nav { background:#fff;border-color:#f2eadb; }.companion .switch { border-radius:14px;background:rgba(15,23,47,.18);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(8px); }.companion .scrolled .switch { background:#e3f6ff;border-color:transparent; }
.companion .cover-image { background-image:url("hero-cover-desktop.jpg");background-position:center 44%; }
.companion .cover-overlay { background:linear-gradient(90deg,rgba(22,20,40,.76),rgba(22,28,52,.18) 37%,transparent 58%),linear-gradient(0deg,rgba(25,24,43,.35),transparent 48%); }
.companion .cover-copy { top:48%;width:min(540px,38vw);padding:30px 32px;border-radius:29px;background:linear-gradient(135deg,rgba(23,22,44,.36),rgba(30,36,62,.09));border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);box-shadow:0 20px 70px rgba(20,18,37,.16); }
.companion .cover-copy h1 { margin:17px 0 20px;font-family:"Zen Maru Gothic","Noto Sans SC",sans-serif;font-size:clamp(46px,4.8vw,78px);font-weight:900; }.companion .cover-copy h1 em { color:#ffd461;text-shadow:0 5px 22px rgba(255,189,61,.22); }.companion .cover-copy p { border-left:2px solid #73ddf4; }.companion .primary { color:#504451;background:#ffd25f;border:3px solid rgba(255,255,255,.55);border-radius:18px;box-shadow:0 9px 25px rgba(22,18,36,.16);font-weight:600; }
.companion .page { background:radial-gradient(circle at 8% 8%,rgba(255,207,93,.22),transparent 24%),radial-gradient(circle at 92% 34%,rgba(101,215,241,.21),transparent 24%),#fffaf2; }.companion .page-title h2 { font-family:"Zen Maru Gothic","Noto Sans SC",sans-serif;font-weight:900; }.companion .page-title .micro,.companion .mini>span { color:#e9953e; }.companion .page-title p,.companion .author>p,.companion .mini p { color:#928896; }
.companion .author,.companion .calendar-card,.companion .mood,.companion .quote,.companion .mini { border:1px solid rgba(255,255,255,.95);border-radius:29px;background:rgba(255,255,255,.7);box-shadow:0 17px 48px rgba(91,70,76,.09); }.companion .author { background:linear-gradient(150deg,#fff,#fff7d9 63%,#e2f7ff); }.companion .avatar { color:#5d5361;border-radius:50% 48% 45% 50%;background:#ffd15f;border:5px solid #fff;box-shadow:0 9px 23px rgba(164,116,48,.18);transform:rotate(-3deg); }.companion .avatar span { right:-11px;font-size:13px; }.companion .numbers { border-block:1px dashed rgba(103,83,95,.14); }.companion .numbers small { color:#a89ca5; }.companion .social a { border-radius:50%;background:#fff;border:1px solid #eee7dc; }
.companion .lead-story { border-radius:31px;box-shadow:0 20px 58px rgba(62,49,67,.16); }.companion .art-companion { background-image:linear-gradient(0deg,rgba(30,25,38,.86),transparent 70%),url("https://images.unsplash.com/photo-1552053831-71594a27632d?auto=format&fit=crop&w=1500&q=85");background-position:center 42%; }.companion .tag { color:#4e4652;background:#ffd15f;border-radius:11px;font-weight:600; }.companion .mini { transition:transform .3s,box-shadow .3s; }.companion .mini:hover { transform:translateY(-5px) rotate(-.25deg);box-shadow:0 23px 52px rgba(91,70,76,.13); }
.companion .days .today { color:#504453;background:#ffd15f; }.companion .days .post { color:#3dbad7; }.companion .mood { background:linear-gradient(145deg,#e1f7ff,#fff8d9); }.companion .mood b { color:#dc8842; }.companion .quote { background:linear-gradient(145deg,#fff0e5,#fff); }.companion .quote>b { color:#ffae5d; }.companion .music { color:#574e5c;background:rgba(255,251,240,.92);border:1px solid #fff;border-radius:24px;box-shadow:0 15px 48px rgba(72,54,64,.16); }.companion .music button { color:#564751;background:#ffd15e;border:3px solid #fff;border-radius:50%; }.companion .waves i { background:#4dc8e3; }.companion .time-widget { color:#574e5c;background:rgba(255,251,240,.9);border:1px solid #fff;border-radius:22px;box-shadow:0 15px 48px rgba(72,54,64,.13); }.companion .time-dot { color:#4dc8e3;background:linear-gradient(145deg,#e2f8ff,#fff7d6);border:3px solid #fff;box-shadow:0 8px 20px rgba(62,82,91,.12); }.companion .time-main small { color:#df8a3c;opacity:1; }
@media(max-width:760px){.companion .site-nav.scrolled{left:10px;right:10px}.companion .cover-image{background-image:url("hero-cover-mobile.jpg");background-position:center}.companion .cover-copy{left:18px;right:18px;width:auto;padding:24px;bottom:84px;top:auto}.companion .cover-copy h1{font-size:clamp(39px,11.5vw,56px)}}

/* Refined hero, navigation and editorial layout */
.site-nav nav { position:relative;overflow:hidden;isolation:isolate; }
.site-nav nav a { position:relative;z-index:2;padding:2px 3px;transition:opacity .25s,transform .3s var(--ease),color .3s; }
.site-nav nav a:hover { transform:translateY(-2px); }
.nav-glow { position:absolute;z-index:1;top:5px;bottom:5px;left:var(--glow-x,8px);width:var(--glow-w,52px);border-radius:13px;background:linear-gradient(120deg,rgba(255,255,255,.08),rgba(255,255,255,.25));box-shadow:inset 0 1px rgba(255,255,255,.16);transition:left .42s var(--ease),width .42s var(--ease),background .3s;pointer-events:none; }
.site-nav.scrolled .nav-glow { background:linear-gradient(120deg,#fff3bf,#dff7ff);box-shadow:0 5px 15px rgba(92,73,84,.08); }
.logo span { transition:transform .35s var(--ease),box-shadow .35s; }.logo:hover span { transform:rotate(8deg) scale(1.1);box-shadow:0 8px 22px rgba(67,50,70,.2); }
.site-nav::after { content:"";position:absolute;top:0;left:-25%;width:18%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transform:skewX(-18deg);animation:nav-shine 8s ease-in-out infinite;pointer-events:none; }
@keyframes nav-shine { 0%,70%{left:-25%}100%{left:115%} }

.companion .cover-copy { left:50%;top:58%;width:auto;max-width:none;padding:0;border:0;border-radius:0;background:none;backdrop-filter:none;box-shadow:none;transform:translate(-50%,-50%);text-align:center;white-space:nowrap; }
.companion .cover-copy h1 { display:flex;justify-content:center;margin:0;font-family:"Mochiy Pop One","ZCOOL KuaiLe","Zen Maru Gothic","Noto Sans SC",sans-serif;font-size:68px;font-weight:400;letter-spacing:.06em; }
.hero-character { display:inline-block;color:#ffacd0;-webkit-text-stroke:3px rgba(255,255,255,.96);paint-order:stroke fill;opacity:0;transform:translateY(24px) scale(.45) rotate(5deg);transform-origin:50% 80%;text-shadow:0 5px 0 rgba(72,52,82,.32),0 14px 34px rgba(20,17,39,.38); }
body:not(.loading) .hero-character { animation:hero-character-in .62s cubic-bezier(.2,.9,.25,1.35) calc(90ms + var(--char-index)*85ms) both; }
.hero-character:nth-child(2),.hero-character:nth-child(3) { color:#ffd45f; }.hero-character:nth-child(4) { color:#fff0b8; }.hero-character:nth-child(5),.hero-character:nth-child(6) { color:#83e1ef; }.hero-character:nth-child(7),.hero-character:nth-child(8) { color:#ff9fc3; }
@keyframes hero-character-in { 0%{opacity:0;transform:translateY(24px) scale(.45) rotate(5deg)}65%{opacity:1;transform:translateY(-5px) scale(1.08) rotate(-1deg)}100%{opacity:1;transform:none} }
.cover-copy { transition:opacity .2s,transform .2s;opacity:calc(1 - var(--hero-progress,0)); }

.section-bridge { position:relative;z-index:12;height:145px;margin-top:-72px;overflow:hidden;pointer-events:none; }
.section-bridge::before { content:"";position:absolute;left:-5vw;top:48px;width:110vw;height:180px;border-radius:50% 50% 0 0/95% 95% 0 0;background:#fffaf2;box-shadow:0 -15px 50px rgba(28,25,43,.08); }
.bridge-line { position:absolute;z-index:2;left:-4vw;top:21px;width:108vw;height:48px;display:flex;align-items:center;justify-content:space-around;gap:38px;color:#574b54;background:#ffd15f;border:3px solid rgba(255,255,255,.72);border-radius:20px;box-shadow:0 10px 30px rgba(55,42,57,.13);font-size:9px;font-weight:600;letter-spacing:.24em;transform:rotate(-1.6deg) translateX(calc(var(--hero-progress,0) * -30px)); }
.bridge-line i { color:#fff;font-size:15px;font-style:normal; }
.bridge-bubble { position:absolute;z-index:3;top:67px;left:50%;width:48px;height:48px;display:grid;place-items:center;border:5px solid #fff;border-radius:50%;color:#594d57;background:#75d9ed;box-shadow:0 10px 25px rgba(63,80,91,.18);transform:translateX(-50%); }
.bridge-bubble span { animation:bridge-down 1.6s ease-in-out infinite; } @keyframes bridge-down { 50%{transform:translateY(5px)} }

.page { padding-top:85px; }
.page-title { grid-template-columns:repeat(12,1fr);column-gap:22px;position:relative; }
.page-title .micro { grid-column:1/9; }.page-title h2 { grid-column:1/9; }.page-title p { grid-column:9/13;width:auto;padding:18px 0 4px;border-top:1px solid rgba(83,67,79,.13); }
.content-grid { grid-template-columns:repeat(12,minmax(0,1fr));gap:22px;position:relative; }
.story-list { grid-column:1/9;grid-row:1/3; }
.profile-orbit { grid-column:9/13;grid-row:1;position:relative;top:auto;min-height:465px;padding:25px 24px 22px!important;overflow:hidden; }
.side { grid-column:9/13;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:18px; }
.calendar-card { grid-column:1/-1; }.mood,.quote { min-height:145px; }
.lead-story { min-height:520px; }.mini-grid { gap:22px; }.mini:nth-child(1) { transform:translateY(10px); }.mini:nth-child(2) { transform:translateY(-8px); }
.mini:nth-child(1):hover { transform:translateY(4px) rotate(-.25deg); }.mini:nth-child(2):hover { transform:translateY(-14px) rotate(.25deg); }

.profile-orbit>header { position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between; }.profile-orbit>header b { font-size:13px; }
.orbit-system { position:relative;width:min(100%,300px);aspect-ratio:1;margin:5px auto -2px; }
.orbit-ring { position:absolute;left:50%;top:50%;border:1px dashed rgba(71,165,189,.28);border-radius:50%;transform:translate(-50%,-50%);animation:ring-spin 18s linear infinite; }
.orbit-ring::before,.orbit-ring::after { content:"";position:absolute;width:7px;height:7px;border:3px solid #fff;border-radius:50%;background:#ffd15f;box-shadow:0 4px 11px rgba(96,71,52,.2); }
.ring-one { width:72%;height:72%; }.ring-one::before { left:8%;top:10%; }.ring-one::after { right:4%;bottom:18%;background:#72d9ed; }
.ring-two { width:96%;height:51%;animation-direction:reverse;animation-duration:23s; }.ring-two::before { left:47%;top:-5px;background:#ffadbd; }.ring-two::after { right:6%;bottom:7%; }
@keyframes ring-spin { to{transform:translate(-50%,-50%) rotate(360deg)} }
.central-avatar { position:absolute;z-index:3;left:50%;top:50%;width:98px;height:98px;display:grid;place-items:center;border:7px solid #fff;border-radius:50% 47% 50% 45%;color:#574b55;background:linear-gradient(145deg,#ffd25f,#ffb96d);box-shadow:0 15px 35px rgba(116,78,53,.2);transform:translate(-50%,-50%) rotate(-4deg); }
.central-avatar img { width:100%;height:100%;border-radius:inherit;object-fit:cover;transition:opacity .2s; }.central-avatar small { position:absolute;right:-7px;bottom:4px;padding:3px 5px;border-radius:8px;color:#574b55;background:#fff;font-size:6px;letter-spacing:.18em;box-shadow:0 3px 9px rgba(72,55,71,.14); }
.satellite { position:absolute;z-index:4;width:46px;height:46px;aspect-ratio:1;padding:0;display:grid;place-items:center;border:4px solid #fff;border-radius:50%;box-shadow:0 9px 22px rgba(72,55,71,.16);cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s;animation:satellite-float 2.5s ease-in-out infinite; }
.satellite img { display:block;width:100%;height:100%;min-width:100%;aspect-ratio:1;border-radius:50%;object-fit:cover;clip-path:circle(50%); }.satellite:hover,.satellite.active { transform:scale(1.15);box-shadow:0 11px 28px rgba(61,49,70,.24); }.satellite.active::after { content:"";position:absolute;inset:-7px;border:1px solid currentColor;border-radius:50%;animation:sat-pulse 1.8s infinite; }
.wechat { left:2%;top:43%;color:#387b64;background:#a8efd0; }.douyin { left:43%;top:1%;color:#fff;background:#4e4554;animation-delay:.5s; }.qq { right:1%;top:43%;color:#376780;background:#a9e4ff;animation-delay:1s; }.github { left:43%;bottom:1%;color:#74566c;background:#ffd0e1;animation-delay:1.5s; }
@keyframes satellite-float { 50%{translate:0 -5px} } @keyframes sat-pulse { 50%{inset:-12px;opacity:0} }
.orbit-info { position:relative;z-index:5;min-height:91px;padding:15px 17px;border:1px solid rgba(255,255,255,.85);border-radius:18px;background:rgba(255,255,255,.68);box-shadow:0 9px 25px rgba(82,64,80,.07);transition:opacity .2s,transform .2s; }
.orbit-info.changing { opacity:0;transform:translateY(5px); }.orbit-info small { color:#df8a3c;font-size:7px;letter-spacing:.16em; }.orbit-info h3 { margin:5px 0 3px;font-size:15px; }.orbit-info h3 a { color:inherit;text-decoration:none;border-bottom:1px solid rgba(87,75,85,.28); }.orbit-info h3 a:hover { color:#d8758d;border-color:currentColor; }.orbit-info p { margin:0;color:#958994;font-size:9px;line-height:1.6; }

.music { min-width:268px;padding:11px 18px 11px 11px;gap:14px; }.music button { width:48px;height:48px; }.music button i { font-size:10px; }.music small { font-size:7px; }.music b { font-size:11px; }.waves { gap:3px;height:20px; }.waves i { width:3px; }

@media(max-width:1100px){.content-grid{grid-template-columns:repeat(8,1fr)}.story-list{grid-column:1/6}.profile-orbit,.side{grid-column:6/9}.page-title{grid-template-columns:repeat(8,1fr)}.page-title .micro,.page-title h2{grid-column:1/6}.page-title p{grid-column:6/9}.profile-orbit{min-height:440px}.orbit-system{max-width:260px}}
@media(max-width:760px){.companion .cover-copy{left:50%;right:auto;top:56%;bottom:auto;width:auto;padding:0;transform:translate(-50%,-50%)}.companion .cover-copy h1{font-size:42px;letter-spacing:.03em;white-space:nowrap}.hero-character{-webkit-text-stroke-width:2px;text-shadow:0 3px 0 rgba(72,52,82,.32),0 10px 25px rgba(20,17,39,.35)}.section-bridge{height:110px;margin-top:-48px}.section-bridge::before{top:40px}.bridge-line{top:18px;width:160vw;font-size:7px}.bridge-line span:nth-of-type(n+3),.bridge-line i:nth-of-type(n+3){display:none}.bridge-bubble{top:54px;width:42px;height:42px}.page{padding-top:65px}.page-title{display:block}.content-grid{display:flex;flex-direction:column}.story-list{order:1}.profile-orbit{order:2;width:100%;min-height:455px}.side{order:3;width:100%}.mini:nth-child(1),.mini:nth-child(2){transform:none}.music{min-width:245px}.satellite{width:43px;height:43px}}

/* Return to a clear three-column editorial layout */
.page-title { display:flex;grid-template-columns:none;justify-content:space-between;align-items:end;column-gap:60px; }
.page-title .micro { grid-column:auto;position:absolute;top:-24px; }.page-title h2 { grid-column:auto; }.page-title p { grid-column:auto;width:390px;padding:18px 0 4px; }
.content-grid { grid-template-columns:300px minmax(480px,1fr) 275px;gap:26px; }
.profile-orbit { grid-column:1;grid-row:1;position:sticky;top:92px;min-height:485px; }
.story-list { grid-column:2;grid-row:1; }
.side { grid-column:3;grid-row:1;display:grid;grid-template-columns:1fr; }
.calendar-card,.mood,.quote { grid-column:1; }.mood,.quote { min-height:auto; }
.mini:nth-child(1),.mini:nth-child(2),.mini:nth-child(1):hover,.mini:nth-child(2):hover { transform:none; }

/* Orbiting social planets */
.orbit-system { width:270px;max-width:100%;margin:9px auto 2px; }
.satellite { left:50%;top:50%;right:auto;bottom:auto;--phase:0deg;animation:satellite-orbit 15s linear infinite; }
.satellite:hover { animation-play-state:paused; }.satellite.active { animation-play-state:running;filter:brightness(1.06) drop-shadow(0 6px 8px rgba(54,45,60,.18)); }
.wechat { --phase:0deg; }.douyin { --phase:90deg;animation-delay:0s; }.qq { --phase:180deg;animation-delay:0s; }.github { --phase:270deg;animation-delay:0s; }
@keyframes satellite-orbit { from{transform:translate(-50%,-50%) rotate(var(--phase)) translateX(108px)}to{transform:translate(-50%,-50%) rotate(calc(var(--phase) + 360deg)) translateX(108px)} }
.satellite span { animation-duration:15s;animation-timing-function:linear;animation-iteration-count:infinite; }.satellite:hover span { animation-play-state:paused; }
.wechat span { animation-name:counter-0; }.douyin span { animation-name:counter-90; }.qq span { animation-name:counter-180; }.github span { animation-name:counter-270; }
@keyframes counter-0 { from{transform:rotate(0)}to{transform:rotate(-360deg)} }@keyframes counter-90 { from{transform:rotate(-90deg)}to{transform:rotate(-450deg)} }@keyframes counter-180 { from{transform:rotate(-180deg)}to{transform:rotate(-540deg)} }@keyframes counter-270 { from{transform:rotate(-270deg)}to{transform:rotate(-630deg)} }

/* Two crossing elliptical social orbits */
.orbit-ring { animation:none; }
.ring-one { left:47%;width:220px;height:130px;transform:translate(-50%,-50%) rotate(-18deg); }
.ring-two { left:53%;width:210px;height:116px;transform:translate(-50%,-50%) rotate(55deg); }
.satellite { left:0;top:0;right:auto;bottom:auto;transform:none;offset-rotate:0deg; }
.satellite span,.wechat span,.douyin span,.qq span,.github span { animation:none;transform:none; }
.wechat,.douyin { offset-path:path("M 226 103 A 105 60 -18 1 1 26 167 A 105 60 -18 1 1 226 103");animation:orbit-path-a 14s linear infinite; }
.douyin { animation-delay:-4.9s; }
.qq,.github { offset-path:path("M 204 221 A 105 58 55 1 1 84 49 A 105 58 55 1 1 204 221");animation:orbit-path-b 18s linear infinite reverse; }
.github { animation-delay:-6.7s; }
.satellite:hover { animation-play-state:paused; }.satellite.active { animation-play-state:running; }
@keyframes orbit-path-a { from{offset-distance:0%}to{offset-distance:100%} }
@keyframes orbit-path-b { from{offset-distance:0%}to{offset-distance:100%} }

/* Featured story carousel */
.story-carousel { height:520px;min-height:0;display:block;overflow:hidden;overscroll-behavior-inline:contain;touch-action:pan-y;cursor:grab; }
.story-carousel.is-dragging { cursor:grabbing; }
.story-carousel.is-dragging .carousel-slide { user-select:none; }
.carousel-track { display:flex;width:100%;height:100%;transition:transform .68s var(--ease);will-change:transform; }
.carousel-track.no-transition { transition:none; }
.carousel-slide { position:relative;flex:0 0 100%;height:100%;display:flex;align-items:end;overflow:hidden; }
.carousel-slide::after { content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(27,21,31,.9),rgba(27,21,31,.04) 76%);pointer-events:none; }
.carousel-slide .story-art { transform:scale(1.02); }.story-carousel:hover .story-art { transform:scale(1.05); }
.slide-copy { position:relative;z-index:2;width:100%;padding:36px 38px 48px; }
.slide-copy .tag { display:inline-block;margin-right:12px;padding:6px 10px;font-size:8px;letter-spacing:.1em; }.slide-copy small { font-size:8px;letter-spacing:.14em;opacity:.65; }.slide-copy h3 { margin:15px 0 9px;font-size:clamp(27px,2.7vw,42px);line-height:1.25; }.slide-copy p { max-width:570px;margin:0 0 17px;font-size:11px;line-height:1.8;opacity:.68; }.slide-copy a { font-size:9px;letter-spacing:.12em; }.slide-copy a i { margin-left:14px;font-style:normal; }
.art-ai { background-image:url("https://images.unsplash.com/photo-1518770660439-4636190af475?auto=format&fit=crop&w=1500&q=85"); }.art-city { background-image:url("815490778_b3520da4ead64e739f0095e9007668ec.png");background-position:center 40%; }
.carousel-controls { position:absolute;z-index:5;right:22px;bottom:20px;display:flex;align-items:center;gap:12px;padding:7px 9px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(25,22,32,.28);backdrop-filter:blur(10px); }
.carousel-arrow { width:27px;height:27px;border:0;border-radius:9px;color:#fff;background:rgba(255,255,255,.13);cursor:pointer;transition:background .25s,transform .25s; }.carousel-arrow:hover { background:#ffd15f;color:#544950;transform:scale(1.08); }
.carousel-dots { display:flex;gap:5px; }.carousel-dots button { width:5px;height:5px;padding:0;border:0;border-radius:6px;background:rgba(255,255,255,.42);cursor:pointer;transition:width .3s,background .3s; }.carousel-dots button.active { width:17px;background:#ffd15f; }

/* Cinematic wheel jump */
.cover-image { transition:transform 1.15s var(--ease),filter 1.15s var(--ease); }
body.hero-jump .cover-image { transform:scale(1.12);filter:brightness(.72) blur(2px); }
body.hero-jump .cover-copy { opacity:0;transform:translate(-50%,-42%) scale(.92); }
body.hero-jump .mouse { opacity:0;transform:translateY(18px);transition:.45s; }

@media(max-width:1180px){.content-grid{grid-template-columns:280px minmax(480px,1fr)}.story-list{grid-column:2}.profile-orbit{grid-column:1}.side{grid-column:1/-1;grid-row:2;grid-template-columns:1.2fr 1fr 1fr}.calendar-card{grid-column:auto}.mood,.quote{grid-column:auto}.profile-orbit{position:relative;top:auto}}
@media(max-width:760px){.page-title{display:block}.page-title .micro{position:static}.page-title p{width:auto}.content-grid{display:flex}.story-list{order:1}.profile-orbit{order:2}.side{order:3;display:grid;grid-template-columns:1fr}.story-carousel{height:500px}.slide-copy{padding:25px 23px 56px}.carousel-controls{right:15px;bottom:14px}.orbit-system{width:270px}@keyframes satellite-orbit{from{transform:translate(-50%,-50%) rotate(var(--phase)) translateX(106px)}to{transform:translate(-50%,-50%) rotate(calc(var(--phase) + 360deg)) translateX(106px)}}}

/* Content views */
.story-list { align-content:start;gap:0; }
.content-tabs-wrap { position:relative;margin-bottom:20px;padding:6px;overflow-x:auto;border:1px solid rgba(255,255,255,.92);border-radius:22px;background:rgba(255,255,255,.5);box-shadow:0 14px 38px rgba(82,63,78,.08);scroll-margin-top:100px;scrollbar-width:none; }
.content-tabs-wrap::-webkit-scrollbar { display:none; }
.content-tabs { position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(4,minmax(112px,1fr));min-width:448px;min-height:66px;gap:4px; }
.content-tab-indicator { position:absolute;z-index:0;top:0;bottom:0;left:0;width:112px;border:1px solid rgba(255,255,255,.98);border-radius:17px;background:linear-gradient(135deg,#fff8d7,#e6f8ff 70%);box-shadow:0 8px 23px rgba(80,64,78,.11),inset 0 1px #fff;transition:left .52s cubic-bezier(.18,.88,.22,1.14),width .52s cubic-bezier(.18,.88,.22,1.14);pointer-events:none; }
.content-tab-indicator::before { content:"✦";position:absolute;right:11px;top:-8px;color:#ffad58;font-size:10px;opacity:0;transform:scale(.2) rotate(-35deg); }
.content-tab-indicator::after { content:"";position:absolute;left:18%;right:18%;bottom:5px;height:2px;border-radius:4px;background:linear-gradient(90deg,transparent,#ffbf62,#61d0e8,transparent);opacity:.55; }
.content-tabs.switching .content-tab-indicator { animation:tab-indicator-hop .58s var(--ease); }
.content-tabs.switching .content-tab-indicator::before { animation:tab-spark .62s var(--ease); }
.content-tab { position:relative;z-index:1;display:grid;grid-template-columns:24px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:9px;min-width:0;height:66px;padding:10px 12px;border:0;border-radius:17px;background:transparent;text-align:left;cursor:pointer; }
.content-tab::after { content:"";position:absolute;inset:9px;border:1px solid rgba(91,202,226,.5);border-radius:13px;opacity:0;pointer-events:none; }
.content-tab>span { grid-row:1/3;align-self:center;color:#b2a7af;font-size:9px;font-weight:600;transition:color .25s,transform .35s var(--ease); }
.content-tab>b { overflow:hidden;color:#716873;font:700 14px/1.2 "Zen Maru Gothic","Noto Sans SC",sans-serif;white-space:nowrap;transition:color .25s; }
.content-tab>small { overflow:hidden;margin-top:3px;color:#aaa0a8;font-size:6px;letter-spacing:.16em;white-space:nowrap; }
.content-tab:hover>span,.content-tab.active>span { color:#e48d3e;transform:translateY(-2px); }
.content-tab.active>b { color:#504754; }
.content-tab.tab-pop::after { animation:tab-ring .62s var(--ease); }
.content-tab.tab-pop>b { animation:tab-label-pop .5s var(--ease); }
.content-tab:focus-visible { outline:2px solid #53c8e1;outline-offset:-3px; }
.story-panels { min-width:0; }
.story-panel[hidden] { display:none; }
.story-panel.active { view-transition-name:story-panel; }
.story-panel.tab-enter { animation:content-panel-in .58s var(--ease) both; }
.story-panel>.mini-grid { margin-top:18px; }
@keyframes content-panel-in { from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none} }
@keyframes tab-indicator-hop { 45%{transform:translateY(-4px) scaleX(1.035);box-shadow:0 15px 31px rgba(80,64,78,.15),inset 0 1px #fff} }
@keyframes tab-spark { 35%{opacity:1;transform:translateY(-4px) scale(1.3) rotate(15deg)}100%{opacity:0;transform:translate(8px,-13px) scale(.5) rotate(65deg)} }
@keyframes tab-ring { 0%{opacity:.9;transform:scale(.8)}100%{inset:1px;opacity:0;transform:scale(1.07)} }
@keyframes tab-label-pop { 45%{transform:translateY(-3px) scale(1.06)} }

::view-transition-group(story-panel) { animation-duration:.72s;animation-timing-function:var(--ease); }
html[data-tab-direction="next"]::view-transition-old(story-panel) { animation:panel-out-next .42s var(--ease) both; }
html[data-tab-direction="next"]::view-transition-new(story-panel) { animation:panel-in-next .7s var(--ease) both; }
html[data-tab-direction="prev"]::view-transition-old(story-panel) { animation:panel-out-prev .42s var(--ease) both; }
html[data-tab-direction="prev"]::view-transition-new(story-panel) { animation:panel-in-prev .7s var(--ease) both; }
@keyframes panel-out-next { to{opacity:0;filter:blur(8px);transform:translateX(-34px) scale(.985)} }
@keyframes panel-in-next { from{opacity:0;clip-path:inset(0 0 0 18% round 24px);filter:blur(8px);transform:translateX(42px) scale(.985)}to{opacity:1;clip-path:inset(0 round 0);filter:none;transform:none} }
@keyframes panel-out-prev { to{opacity:0;filter:blur(8px);transform:translateX(34px) scale(.985)} }
@keyframes panel-in-prev { from{opacity:0;clip-path:inset(0 18% 0 0 round 24px);filter:blur(8px);transform:translateX(-42px) scale(.985)}to{opacity:1;clip-path:inset(0 round 0);filter:none;transform:none} }

.panel-heading { display:flex;align-items:end;justify-content:space-between;gap:32px;margin:2px 0 24px;padding:22px 4px 23px;border-bottom:1px solid rgba(83,67,79,.12); }
.panel-heading .micro { color:#df8a3c; }
.panel-heading h3 { margin:9px 0 0;color:#514954;font:700 clamp(28px,3vw,40px)/1.18 "Zen Maru Gothic","Noto Sans SC",sans-serif; }
.panel-heading>p { width:250px;margin:0;color:#958b95;font-size:10px;line-height:1.8; }

/* Journal view */
.journal-book-toolbar { display:flex;align-items:center;justify-content:space-between;min-height:46px;margin-bottom:12px;padding:0 5px;color:#a1979f;font-size:7px;letter-spacing:.17em; }
.journal-book-toolbar>div:first-child { display:grid;gap:5px; }.journal-book-toolbar>div:first-child output { color:#d17c37;font-size:8px;letter-spacing:.1em; }
.journal-book-pagination { display:flex;align-items:center;gap:9px; }
.journal-book-pagination button { display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid rgba(255,255,255,.96);border-radius:11px;color:#665c66;background:rgba(255,255,255,.68);font-size:14px;cursor:pointer;box-shadow:0 7px 18px rgba(73,57,69,.07);transition:transform .28s var(--ease),background .25s,color .25s,opacity .25s; }
.journal-book-pagination button:hover:not(:disabled) { color:#cf7933;background:#fff;transform:translateX(-2px); }.journal-book-pagination button:last-child:hover:not(:disabled) { transform:translateX(2px); }.journal-book-pagination button:disabled { opacity:.3;cursor:not-allowed; }
.journal-book-pagination output { min-width:49px;color:#756b74;text-align:center;font-size:9px;font-variant-numeric:tabular-nums;letter-spacing:.1em; }
.journal-book-shell { position:relative;display:grid;place-items:center;width:100%;height:clamp(510px,63vw,600px);padding:15px 0 28px;overflow:hidden;border-radius:6px;background:radial-gradient(ellipse at 50% 90%,rgba(59,43,54,.2),transparent 55%);isolation:isolate; }
.journal-book-shell::before { content:"";position:absolute;z-index:-2;left:5%;right:5%;bottom:24px;height:38px;border-radius:50%;background:rgba(54,39,50,.18);filter:blur(20px); }
.journal-book-shell::after { content:"";position:absolute;z-index:-1;left:2.3%;right:2.3%;top:26px;bottom:38px;border:1px solid rgba(93,72,73,.14);background:#d8cdbb;box-shadow:0 3px #eee6d8,0 6px #c8bca9,0 9px 18px rgba(58,43,50,.16);transform:perspective(900px) rotateX(1.2deg); }
.journal-book { width:100%;height:100%;cursor:grab; }
.journal-book:active { cursor:grabbing; }
.journal-book-page { position:relative;overflow:hidden;color:#5d545d;background-color:#fffdf6;background-image:linear-gradient(90deg,rgba(73,54,59,.06),transparent 10%,transparent 88%,rgba(73,54,59,.045)),repeating-linear-gradient(0deg,rgba(113,88,78,.025) 0 1px,transparent 1px 4px);border:1px solid rgba(102,79,75,.14);box-shadow:inset 0 0 28px rgba(91,68,67,.035); }
.journal-page-inner { position:relative;display:flex;flex-direction:column;width:100%;height:100%;padding:34px 31px 28px;overflow:hidden; }
.journal-page-inner::after { content:"";position:absolute;left:31px;right:31px;bottom:18px;height:1px;background:linear-gradient(90deg,transparent,rgba(112,90,83,.16),transparent); }
.journal-article-page header { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.journal-article-page header time { color:#aaa0a6;font-size:7px;letter-spacing:.14em;white-space:nowrap; }
.journal-topic { display:inline-block;padding:5px 8px;border-radius:8px;color:#6b5948;background:#ffe3a0;font-size:7px;letter-spacing:.1em; }
.journal-topic.blue { color:#456774;background:#dff5fb; }.journal-topic.pink { color:#765461;background:#ffe2eb; }.journal-topic.green { color:#4e6d60;background:#dff3e8; }
.journal-page-cover { flex:0 0 auto;width:142px;height:142px;margin:17px auto 12px;overflow:hidden;border:7px solid #fff;box-shadow:0 12px 25px rgba(68,51,59,.15),0 0 0 1px rgba(91,69,70,.08);transform:rotate(-.7deg); }
.journal-page-cover img { display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease); }.journal-article-page:hover .journal-page-cover img { transform:scale(1.045); }
.journal-article-page h4 { margin:0 0 8px;color:#514852;font:700 19px/1.4 "Zen Maru Gothic","Noto Sans SC",sans-serif; }
.journal-article-page .journal-page-lead { display:-webkit-box;margin:0;color:#766c74;font:400 9px/1.8 "Noto Sans SC",sans-serif;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden; }
.journal-page-data { display:grid;grid-template-columns:repeat(3,1fr);margin:13px 0 10px;padding:9px 0;border-block:1px dashed rgba(89,68,76,.13); }
.journal-page-data span { display:grid;gap:2px;text-align:center;border-left:1px solid rgba(89,68,76,.1); }.journal-page-data span:first-child { border-left:0; }.journal-page-data b { color:#5f555e;font:500 13px Georgia,serif; }.journal-page-data small { color:#aaa0a6;font-size:6px;letter-spacing:.1em; }
.journal-article-page footer { display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-bottom:3px;color:#aaa0a6;font-size:7px;letter-spacing:.1em; }
.journal-article-page footer a { display:inline-flex;align-items:center;gap:7px;padding:8px 9px 8px 12px;border:1px solid rgba(255,255,255,.9);border-radius:18px;color:#584d54;background:#ffd15f;box-shadow:0 6px 16px rgba(190,126,39,.2);font-size:8px;font-weight:700;letter-spacing:.04em;transition:background .25s,transform .25s,box-shadow .25s; }.journal-article-page footer a:hover { background:#ffc84a;box-shadow:0 9px 20px rgba(190,126,39,.28);transform:translateY(-2px); }.journal-article-page footer i { display:grid;place-items:center;width:18px;height:18px;border-radius:50%;color:#b46c2d;background:rgba(255,255,255,.82);font-size:7px;font-style:normal; }
.journal-book-cover { color:#fff;background:#53505c;background-image:linear-gradient(145deg,rgba(255,209,95,.18),transparent 40%),linear-gradient(330deg,rgba(86,205,228,.2),transparent 46%),repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 4px);border-color:rgba(255,255,255,.15); }
.journal-book-cover::after { content:"";position:absolute;inset:13px;border:1px solid rgba(255,255,255,.19);pointer-events:none; }
.journal-cover-mark { display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#554d57;background:#ffd15f;font-size:9px;font-weight:700;letter-spacing:.08em;box-shadow:0 8px 26px rgba(21,17,24,.18); }
.journal-cover-copy { margin:auto 0; }.journal-cover-copy small { color:#83dceb;font-size:7px;letter-spacing:.2em; }.journal-cover-copy h4 { margin:17px 0;color:#fff;font:700 29px/1.42 "Zen Maru Gothic","Noto Sans SC",sans-serif; }.journal-cover-copy p { margin:0;color:rgba(255,255,255,.52);font-size:7px;letter-spacing:.18em; }
.journal-book-cover footer { display:flex;align-items:end;justify-content:space-between;color:rgba(255,255,255,.48);font-size:7px;letter-spacing:.13em; }.journal-book-cover footer b { color:#ffd15f;font-size:10px; }
.journal-book-toc header,.journal-book-ledger header { display:flex;align-items:end;justify-content:space-between;padding-bottom:12px;border-bottom:2px solid #5b5159; }.journal-book-toc header span,.journal-book-ledger header span { color:#d27c38;font-size:7px;letter-spacing:.2em; }.journal-book-toc header b,.journal-book-ledger header b { color:#514952;font:700 21px "Zen Maru Gothic","Noto Sans SC",sans-serif; }
.journal-book-toc>.journal-page-inner>p { margin:15px 0 13px;color:#948991;font-size:8px;line-height:1.75; }
.journal-toc-list { display:grid; }
.journal-toc-list button { display:grid;grid-template-columns:minmax(0,1fr) 28px 20px;align-items:center;gap:9px;min-height:53px;padding:6px 3px;border:0;border-bottom:1px dashed rgba(89,68,76,.14);color:#655b64;background:transparent;text-align:left;cursor:pointer;transition:padding .25s,background .25s; }
.journal-toc-list button:hover,.journal-toc-list button.active { padding-inline:9px;background:rgba(255,226,159,.27); }.journal-toc-list button>span { display:grid;grid-template-columns:14px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:7px; }.journal-toc-list button i { grid-row:1/3;width:7px;height:7px;border-radius:50%;background:#e9a958;box-shadow:0 0 0 3px rgba(233,169,88,.12); }.journal-toc-list button:nth-child(3) i { background:#64cbe2; }.journal-toc-list button:nth-child(4) i { background:#efa4bc; }.journal-toc-list button:nth-child(5) i { background:#75c7a3; }.journal-toc-list button b { font-size:10px; }.journal-toc-list button small { margin-top:2px;color:#aaa0a6;font-size:5px;letter-spacing:.15em; }.journal-toc-list button strong { color:#70656d;font:italic 15px Georgia,serif;text-align:right; }.journal-toc-list button em { display:grid;place-items:center;width:19px;height:19px;border-radius:50%;color:#a4969e;background:rgba(91,73,83,.07);font-size:6px;font-style:normal; }.journal-toc-list button.active em { color:#98632e;background:#ffe3a0; }
.journal-book-toc>.journal-page-inner>footer { margin-top:auto;color:#aaa0a6;font-size:6px;letter-spacing:.16em; }.journal-book-toc>.journal-page-inner>footer span { color:#dc8338; }
.journal-book-ledger { background-color:#fff9e9; }.journal-ledger-total { display:flex;align-items:end;gap:13px;margin:22px 0 18px; }.journal-ledger-total strong { color:#514951;font:500 62px/.78 Georgia,serif; }.journal-ledger-total span { color:#9d9198;font-size:6px;line-height:1.6;letter-spacing:.15em; }
.journal-ledger-bars { display:grid;gap:11px; }.journal-ledger-bars span { position:relative;display:flex;justify-content:space-between;padding-bottom:8px;color:#8e828b;font-size:7px; }.journal-ledger-bars span::before,.journal-ledger-bars span::after { content:"";position:absolute;left:0;bottom:0;height:3px;border-radius:3px; }.journal-ledger-bars span::before { width:100%;background:#eee5d7; }.journal-ledger-bars span::after { width:var(--value);background:linear-gradient(90deg,#f0ae58,#5ac8de); }.journal-ledger-bars i { font-style:normal; }.journal-ledger-bars b { color:#675c65;font-size:7px; }
.journal-ledger-note { margin-top:23px;padding:17px;background:#fff;border:1px solid rgba(108,82,77,.08);box-shadow:0 8px 20px rgba(75,57,61,.06); }.journal-ledger-note span { color:#d37c37;font-size:6px;letter-spacing:.15em; }.journal-ledger-note b { display:block;margin:8px 0;color:#61565f;font:700 13px "Zen Maru Gothic","Noto Sans SC",sans-serif; }.journal-ledger-note p { margin:0;color:#9b8f96;font-size:7px;line-height:1.7; }.journal-book-ledger footer { margin-top:auto;color:#aaa0a6;font-size:6px;letter-spacing:.15em; }
.journal-book-ending { color:#5a5057;background-color:#fff5dc;background-image:radial-gradient(circle at 82% 16%,rgba(102,210,231,.22),transparent 28%),radial-gradient(circle at 15% 83%,rgba(255,192,97,.28),transparent 34%),repeating-linear-gradient(0deg,rgba(105,82,73,.02) 0 1px,transparent 1px 5px); }
.journal-book-ending .journal-page-inner { justify-content:space-between;text-align:center; }.journal-ending-kicker { color:#cf7d38;font-size:7px;letter-spacing:.2em; }.journal-book-ending b { display:block;color:#efae60;font:50px/1 Georgia,serif; }.journal-book-ending h4 { margin:0;color:#574e57;font:700 24px/1.55 "Zen Maru Gothic","Noto Sans SC",sans-serif; }.journal-book-ending p { margin:15px 0 0;color:#968a91;font-size:9px; }.journal-book-ending footer { color:#a3979d;font-size:7px;letter-spacing:.18em; }
.journal-drag-hint { position:absolute;z-index:40;left:var(--hint-x,72%);top:var(--hint-y,11%);display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid rgba(255,255,255,.34);border-radius:5px;color:#fff;background:rgba(61,52,60,.88);box-shadow:0 8px 24px rgba(51,39,49,.18);backdrop-filter:blur(8px);font-size:8px;letter-spacing:.06em;opacity:0;transform:translate(12px,12px);transition:opacity .2s,transform .25s var(--ease);pointer-events:none;white-space:nowrap; }.journal-drag-hint span { color:#ffd15f;font-size:12px; }.journal-book-shell.is-hinting .journal-drag-hint { opacity:1;transform:translate(12px,6px); }.journal-book-shell.is-dragging .journal-drag-hint { opacity:0; }
.journal-book-shell:not(.book-fallback) .stf__wrapper { filter:drop-shadow(0 19px 18px rgba(58,42,51,.17)); }
.journal-book-shell:not(.book-fallback) .stf__block { box-shadow:0 0 0 1px rgba(79,59,66,.1),0 4px 0 #ded3c2,0 7px 0 #bfb3a2; }
.book-fallback { height:auto;overflow:visible;background:none; }
.book-fallback::before,.book-fallback::after { display:none; }
.book-fallback .journal-book { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;height:auto;cursor:default; }
.book-fallback .journal-book-page { min-height:490px;box-shadow:0 14px 35px rgba(73,56,67,.1); }

/* Featured portals */
.featured-portals { display:grid;grid-template-columns:1.08fr .92fr;gap:18px;margin-top:18px; }
.featured-glimpse,.featured-radar { position:relative;min-width:0;height:275px;overflow:hidden;border:1px solid rgba(255,255,255,.95);border-radius:8px;box-shadow:0 16px 40px rgba(76,58,69,.11); }
.featured-glimpse { color:#fff;background:#514c52; }.featured-glimpse::after { content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(34,29,36,.82),rgba(34,29,36,.05) 72%);pointer-events:none; }.featured-glimpse img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .75s var(--ease); }.featured-glimpse:hover img { transform:scale(1.045); }.featured-glimpse>div { position:absolute;z-index:2;left:24px;right:65px;bottom:23px; }.featured-glimpse span,.featured-radar header span { font-size:7px;letter-spacing:.15em; }.featured-glimpse h3 { margin:8px 0 6px;font:700 21px/1.35 "Zen Maru Gothic","Noto Sans SC",sans-serif; }.featured-glimpse p { margin:0;font-size:8px;opacity:.68; }
.portal-arrow { position:absolute;z-index:3;right:18px;bottom:18px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid rgba(255,255,255,.62);border-radius:50%;color:#564c55;background:#ffd15f;font-size:15px;cursor:pointer;transition:transform .3s var(--ease),background .25s; }.portal-arrow:hover { background:#fff;transform:translate(3px,-3px); }
.featured-radar { padding:24px;color:#574f58;background:linear-gradient(145deg,#fff5cc,#e3f7fb); }.featured-radar header { display:flex;align-items:center;justify-content:space-between; }.featured-radar header span { color:#d87f36; }.featured-radar header b { font-size:13px; }.radar-score { display:flex;align-items:end;gap:9px;margin:20px 0 16px; }.radar-score strong { font:500 50px/.78 Georgia,serif; }.radar-score span { color:#a0959d;font-size:6px;line-height:1.55;letter-spacing:.13em; }.radar-score i { flex:1;height:1px;margin-bottom:3px;background:linear-gradient(90deg,rgba(83,67,79,.18),transparent); }.featured-radar ul { margin:0;padding:0 52px 0 0;list-style:none; }.featured-radar li { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px dashed rgba(83,67,79,.12);font-size:8px; }.featured-radar li span { color:#9d929a; }.featured-radar li b { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.featured-radar .portal-arrow { border-color:#fff;background:#59c9df; }.featured-radar .portal-arrow:hover { background:#fff; }

/* Moments view */
.moments-index { display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-3px 0 16px;padding:0 3px 13px;border-bottom:1px solid rgba(83,67,79,.1);color:#9a8f97;font-size:8px;letter-spacing:.12em; }
.moments-index output { color:#756a72;font-size:8px;letter-spacing:.06em; }
.moments-life-grid { display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:14px;align-items:stretch;scroll-margin-top:92px; }
.life-entry { position:relative;min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.94);border-radius:7px;box-shadow:0 15px 38px rgba(77,58,69,.1); }.life-entry[hidden] { display:none; }.life-entry.filter-enter { animation:life-entry-in .55s var(--ease) both; }
.life-photo-text { display:flex;flex-direction:column;color:#59515a;background:#fff; }.life-photo-text.life-feature { grid-column:span 7;height:300px; }.life-photo-text figure { min-height:0;margin:0;overflow:hidden; }.life-photo-text.life-feature figure { flex:1 1 57%; }.life-photo-text figure img,.life-photo-only img { display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease); }.life-photo-text:hover figure img,.life-photo-only:hover img { transform:scale(1.04); }.life-entry-copy { padding:15px 18px 17px; }.life-entry-copy time,.life-text-note time { color:#d47c35;font-size:7px;letter-spacing:.15em; }.life-entry-copy h4 { margin:6px 0 5px;font:700 17px/1.38 "Zen Maru Gothic","Noto Sans SC",sans-serif; }.life-entry-copy p { margin:0;color:#938891;font-size:9px;line-height:1.7; }
.life-text-note { grid-column:span 5;display:flex;flex-direction:column;height:300px;padding:22px;color:#655950;background:#fff0b9; }.life-text-note::before { content:"";position:absolute;top:0;bottom:0;left:19px;width:1px;background:rgba(217,121,91,.18); }.life-text-note header,.life-text-note footer { position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between; }.life-text-note header span { color:#ad8b70;font-size:7px;letter-spacing:.13em; }.life-text-note blockquote { position:relative;z-index:2;margin:auto 3px;padding-left:8px;font:700 16px/1.72 "Zen Maru Gothic","Noto Sans SC",sans-serif; }.life-text-note footer { color:#a38370;font-size:7px; }.life-text-note footer i { color:#e18756;font-size:16px;font-style:normal; }.note-blue { grid-column:span 4;height:240px;color:#52636a;background:#dff4f8; }.note-blue::before { background:rgba(70,158,179,.18); }.note-blue time { color:#3799af; }.note-blue blockquote { font-size:14px;line-height:1.65; }.note-blue footer { color:#76939b; }
.life-photo-only { margin:0;color:#fff;background:#575159; }.life-photo-only::after { content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(30,25,31,.42),transparent 45%);pointer-events:none; }.life-photo-only span { position:absolute;z-index:2;left:17px;bottom:15px;font-size:7px;letter-spacing:.16em;opacity:.75; }
.photo-portrait { grid-column:span 5;height:250px; }.photo-wide { grid-column:span 8;height:240px; }.photo-square { grid-column:span 5;height:280px; }
.life-horizontal { grid-column:span 7;display:grid;grid-template-columns:1.08fr .92fr;height:250px; }.life-horizontal figure { height:100%; }.life-horizontal .life-entry-copy { display:flex;flex-direction:column;justify-content:center;padding:20px; }.life-horizontal .life-entry-copy h4 { font-size:17px; }
.life-compact-story { grid-column:span 7;display:grid;grid-template-columns:1.08fr .92fr;height:280px; }.life-compact-story figure { height:100%; }.life-compact-story .life-entry-copy { display:flex;flex-direction:column;justify-content:center;padding:20px; }
.moments-pagination { display:flex;align-items:center;justify-content:center;gap:8px;margin-top:22px; }.moments-page-numbers { display:flex;align-items:center;gap:6px; }.moments-pagination button { display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid rgba(83,67,79,.11);border-radius:50%;color:#7d727a;background:rgba(255,255,255,.58);font:700 9px "Zen Maru Gothic","Noto Sans SC",sans-serif;cursor:pointer;transition:transform .25s var(--ease),color .25s,background .25s,box-shadow .25s; }.moments-pagination button:hover:not(:disabled) { color:#5d535b;background:#fff;box-shadow:0 7px 18px rgba(79,60,72,.09);transform:translateY(-2px); }.moments-page-numbers button.active { color:#5c5259;background:#ffd66e;box-shadow:0 7px 18px rgba(218,158,54,.18); }.moments-pagination button:disabled { cursor:default;opacity:.3; }.moments-pagination output { min-width:50px;color:#9a8f97;font-size:8px;letter-spacing:.1em;text-align:center; }
.visually-hidden { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }
@keyframes life-entry-in { from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none} }

/* Life hub view */
.life-hub-grid { display:grid;grid-template-columns:1.08fr .92fr;gap:18px; }
.hub-module { position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.95);border-radius:24px;box-shadow:0 16px 42px rgba(82,64,77,.1); }
.hub-music { grid-column:1/-1;min-height:310px;padding:25px 27px 22px;color:#fff;background:#302d37; }
.hub-music::before { content:"";position:absolute;right:-120px;top:-150px;width:330px;height:330px;border:1px solid rgba(112,217,238,.1);border-radius:50%;box-shadow:0 0 0 45px rgba(255,208,92,.035),0 0 0 90px rgba(112,217,238,.025);pointer-events:none; }
.hub-music>header { position:relative;z-index:2;display:flex;justify-content:space-between;color:#88ddec;font-size:7px;letter-spacing:.16em; }.hub-music>header small { color:rgba(255,255,255,.42); }
.hub-music-layout { position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 205px;gap:25px;margin-top:20px; }
.hub-current-track { display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:22px;min-width:0; }
.hub-album { position:relative;width:140px;aspect-ratio:1;margin:0;overflow:hidden;border-radius:7px;box-shadow:0 18px 38px rgba(0,0,0,.28); }.hub-album::after { content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.16);border-radius:inherit;pointer-events:none; }.hub-album img { display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease); }.hub-music.is-playing .hub-album img { transform:scale(1.045); }
.hub-track-info { min-width:0; }.hub-track-info>small { color:#7fd8e9;font-size:7px;letter-spacing:.15em; }.hub-track-info h4 { margin:7px 0 4px;font:700 27px/1.25 "Zen Maru Gothic","Noto Sans SC",sans-serif; }.hub-track-info p { margin:0;color:rgba(255,255,255,.48);font-size:8px;letter-spacing:.08em; }
.hub-progress-row { display:grid;grid-template-columns:30px 1fr 30px;align-items:center;gap:7px;margin:19px 0 14px;color:rgba(255,255,255,.42);font-size:6px;font-variant-numeric:tabular-nums; }.hub-progress-row time:last-child { text-align:right; }.hub-progress-row input { width:100%;height:3px;margin:0;accent-color:#ffd15f;cursor:pointer; }
.hub-player-controls { display:flex;align-items:center;gap:9px; }.hub-player-controls>button { display:grid;place-items:center;width:29px;height:29px;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:50%;color:#fff;background:rgba(255,255,255,.06);font-size:13px;cursor:pointer;transition:background .2s,transform .2s; }.hub-player-controls>button:hover { background:rgba(255,255,255,.14);transform:translateY(-2px); }.hub-player-controls .hub-play { width:37px;height:37px;border:0;color:#554a52;background:#ffd15f;font-size:9px; }.hub-player-controls .hub-play:hover { background:#ffe08a; }
.hub-queue { min-width:0;padding-left:22px;border-left:1px solid rgba(255,255,255,.1); }.hub-queue>header { display:flex;justify-content:space-between;align-items:end;margin-bottom:7px; }.hub-queue>header span { color:#7fd8e9;font-size:6px;letter-spacing:.15em; }.hub-queue>header b { font-size:10px; }
.hub-queue>button { display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;padding:10px 2px;border:0;border-top:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.56);background:transparent;text-align:left;cursor:pointer;transition:color .2s,padding .2s; }.hub-queue>button:hover,.hub-queue>button.active { padding-left:7px;color:#fff; }.hub-queue>button>span { color:#7fd8e9;font-size:7px; }.hub-queue>button div { display:grid;gap:2px;min-width:0; }.hub-queue>button b { overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap; }.hub-queue>button small { overflow:hidden;font-size:6px;opacity:.52;text-overflow:ellipsis;white-space:nowrap; }.hub-queue>button i { font-size:6px;font-style:normal;opacity:.48; }.hub-queue>button.active>span { color:#ffd15f; }
.hub-listening-note { position:relative;z-index:2;display:grid;grid-template-columns:112px 1fr;gap:14px;margin-top:20px;padding-top:15px;border-top:1px solid rgba(255,255,255,.1); }.hub-listening-note span { color:#ffd15f;font-size:6px;letter-spacing:.16em; }.hub-listening-note p { margin:0;color:rgba(255,255,255,.58);font-size:8px;line-height:1.7; }
.hub-physics-jar,.hub-wishlist { min-height:318px;padding:23px 25px;color:#5b525c; }
.hub-physics-jar { isolation:isolate;background:#f0f5f2; }.hub-physics-jar::before { content:"";position:absolute;z-index:-1;left:0;right:0;bottom:0;height:38%;background:linear-gradient(100deg,rgba(255,209,95,.12),rgba(100,209,228,.13),rgba(244,160,188,.11));pointer-events:none; }.hub-wishlist { background:linear-gradient(145deg,#ffe5ed,#fff9df); }
.hub-physics-jar>header,.hub-wishlist>header { position:relative;z-index:4;display:flex;align-items:start;justify-content:space-between; }.hub-physics-jar>header span,.hub-wishlist>header span { color:#d98137;font-size:6px;letter-spacing:.15em; }.hub-physics-jar>header h4,.hub-wishlist>header h4 { margin:6px 0 0;font-size:18px; }.hub-physics-jar>header>b,.hub-wishlist>header>b { color:#8c8189;font-size:6px;letter-spacing:.12em; }
.physics-jar-stage { display:grid;place-items:center;height:225px;margin-top:-2px; }
.physics-jar { position:relative;width:230px;height:220px;touch-action:none;cursor:grab;outline:none;-webkit-tap-highlight-color:transparent; }.physics-jar:active { cursor:grabbing; }.physics-jar:focus-visible::after { content:"";position:absolute;z-index:9;inset:1px;border:2px solid #54bfd3;border-radius:20px;pointer-events:none; }
.physics-jar-shadow { position:absolute;z-index:0;left:30px;right:30px;bottom:-2px;height:21px;border-radius:50%;background:rgba(61,55,66,.17);filter:blur(9px);transform:scaleX(.92); }
.physics-jar-vessel { position:absolute;z-index:2;inset:0;display:block;transform:rotate(var(--jar-tilt,0deg));transform-origin:50% 92%;filter:drop-shadow(0 12px 11px rgba(64,71,79,.14));will-change:transform; }
.physics-jar-lid { position:absolute;z-index:8;left:73px;top:0;width:84px;height:20px;border:1px solid rgba(87,74,61,.16);border-radius:6px 6px 8px 8px;background:repeating-linear-gradient(90deg,#d8aa55 0 4px,#f2cc7b 4px 7px);box-shadow:inset 0 3px rgba(255,255,255,.42),0 5px 8px rgba(79,61,53,.13); }
.physics-jar-glass { position:absolute;z-index:1;inset:17px 0 0;clip-path:polygon(34% 0,66% 0,68% 18%,91% 32%,96% 92%,90% 98%,10% 98%,4% 92%,9% 32%,32% 18%);background:linear-gradient(108deg,rgba(255,255,255,.65),rgba(213,241,242,.2) 35%,rgba(117,204,218,.16) 72%,rgba(255,255,255,.58));box-shadow:inset 17px 0 25px rgba(255,255,255,.48),inset -12px -8px 22px rgba(66,151,170,.09); }
.physics-jar-glass::before { content:"";position:absolute;inset:3px;clip-path:inherit;background:rgba(238,250,248,.1);box-shadow:inset 0 0 0 2px rgba(255,255,255,.44); }.physics-jar-glass::after { content:"";position:absolute;left:24px;right:24px;bottom:7px;height:19px;border-radius:50%;border-bottom:3px solid rgba(255,255,255,.62);background:rgba(89,182,197,.06); }
#physicsJarCanvas { position:absolute;z-index:3;inset:0;width:230px;height:220px;clip-path:polygon(34% 8%,66% 8%,68% 23%,91% 36%,96% 94%,90% 99%,10% 99%,4% 94%,9% 36%,32% 23%);pointer-events:none; }
.physics-jar-highlight { position:absolute;z-index:5;left:27px;top:75px;width:13px;height:87px;border-radius:50%;background:linear-gradient(rgba(255,255,255,.74),rgba(255,255,255,.08));transform:rotate(5deg);opacity:.78;pointer-events:none; }.physics-jar-highlight::after { content:"";position:absolute;left:9px;top:-29px;width:7px;height:23px;border-radius:50%;background:rgba(255,255,255,.55);transform:rotate(-14deg); }
.physics-jar-rim { position:absolute;z-index:6;left:76px;top:16px;width:78px;height:12px;border:2px solid rgba(255,255,255,.78);border-block-color:rgba(90,166,181,.24);border-radius:50%;box-shadow:inset 0 4px 6px rgba(255,255,255,.38);pointer-events:none; }
.hub-physics-jar>footer { position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;margin-top:-3px;padding-top:10px;border-top:1px dashed rgba(91,72,82,.13); }.hub-physics-jar>footer span { color:#d98137;font-size:6px;letter-spacing:.14em; }.hub-physics-jar>footer p { margin:0;color:#8d838a;font-size:8px; }
.hub-wishlist ul { display:grid;margin:17px 0 0;padding:0;list-style:none; }.hub-wishlist li { display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-top:1px dashed rgba(90,69,80,.12);font-size:9px; }.hub-wishlist li>span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.hub-wishlist li>b { flex:0 0 auto;padding:4px 6px;border-radius:5px;color:#8d7d86;background:rgba(255,255,255,.65);font-size:6px; }.hub-wishlist li>b.doing { color:#a66c2c;background:#ffedb6; }.hub-wishlist li>b.done { color:#397b66;background:#d9f2e7; }
.hub-wishlist>footer { display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;margin-top:13px;color:#93868e;font-size:7px; }.hub-wishlist>footer i { height:3px;overflow:hidden;border-radius:3px;background:rgba(255,255,255,.7); }.hub-wishlist>footer i b { display:block;width:25%;height:100%;background:#ed9ab5; }

.side-updates,.side-roam { position:relative;overflow:hidden;padding:21px;border:1px solid rgba(255,255,255,.95);border-radius:24px;box-shadow:0 15px 40px rgba(83,64,76,.08); }
.side-updates { color:#5b525c;background:rgba(255,255,255,.76); }.side-updates>header { display:flex;align-items:end;justify-content:space-between;margin-bottom:8px; }.side-updates>header span { color:#dc853c;font-size:6px;letter-spacing:.14em; }.side-updates>header b { font-size:11px; }.side-updates ul { margin:0;padding:0;list-style:none; }.side-updates li { border-top:1px dashed rgba(83,67,79,.12); }.side-updates button,.side-updates a { display:grid;grid-template-columns:32px minmax(0,1fr) 14px;align-items:center;gap:8px;width:100%;padding:11px 0;border:0;color:inherit;background:transparent;text-align:left;cursor:pointer;transition:transform .25s,color .25s; }.side-updates button:hover,.side-updates a:hover { color:#d47c36;transform:translateX(3px); }.side-updates time { color:#aaa0a6;font-size:7px; }.side-updates li span { display:grid;gap:2px;min-width:0; }.side-updates li b { overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap; }.side-updates li small { color:#aaa0a6;font-size:6px; }.side-updates li i { font-size:9px;font-style:normal; }
.side-roam { min-height:174px;color:#594f58;background:linear-gradient(145deg,#ffe5dc,#e3f7fb); }.side-roam>span { color:#d77d4d;font-size:6px;letter-spacing:.15em; }.side-roam h3 { margin:8px 0 7px;font-size:18px; }.side-roam p { max-width:160px;margin:0;color:#92878f;font-size:8px;line-height:1.7; }.side-roam button { position:absolute;right:18px;bottom:18px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:3px solid #fff;border-radius:50%;color:#564c55;background:#ffd15f;box-shadow:0 8px 20px rgba(116,78,53,.14);cursor:pointer;transition:transform .35s var(--ease); }.side-roam button:hover { transform:rotate(22deg) scale(1.08); }.side-roam button span { font-size:16px; }

@media(max-width:760px){
  .content-tabs-wrap{margin-inline:-2px;border-radius:18px}.content-tabs{min-width:424px;min-height:60px}.content-tab{height:60px;padding:8px 10px}.content-tab-indicator{border-radius:14px}.content-tab>b{font-size:13px}
  .panel-heading{display:block;margin-bottom:18px;padding:18px 2px}.panel-heading>p{width:auto;margin-top:12px}.panel-heading h3{font-size:29px}
  .journal-book-shell{height:510px;margin-inline:-2px}.journal-book-toolbar{margin-bottom:6px}.journal-book-toolbar>div:first-child>span{display:block;max-width:150px;overflow:hidden;white-space:nowrap}.journal-page-inner{padding:29px 25px 26px}.journal-page-cover{width:132px;height:132px;margin-top:15px}.journal-article-page h4{font-size:18px}.journal-article-page .journal-page-lead{font-size:8px}.journal-toc-list button{min-height:51px}.journal-book-toc>.journal-page-inner>p{margin-block:12px 9px}.journal-ledger-total strong{font-size:56px}.book-fallback .journal-book{grid-template-columns:1fr}.book-fallback .journal-book-page{min-height:490px}
  .featured-portals{grid-template-columns:1fr}.featured-glimpse,.featured-radar{height:270px}.featured-radar{padding:22px}
  .moments-index{align-items:flex-start}.moments-index output{white-space:nowrap}.moments-life-grid{grid-template-columns:1fr;gap:12px;scroll-margin-top:76px}.life-photo-text.life-feature,.life-text-note,.note-blue,.photo-portrait,.photo-wide,.life-horizontal,.life-compact-story,.photo-square{grid-column:1;min-height:0}.life-photo-text.life-feature{height:320px}.life-photo-text.life-feature figure{min-height:170px}.life-entry-copy{padding:15px 17px}.life-entry-copy h4{font-size:17px}.life-text-note{height:260px;padding:21px}.life-text-note blockquote{font-size:15px}.note-blue{height:245px}.life-horizontal,.life-compact-story{display:grid;grid-template-columns:1fr;height:290px}.life-horizontal figure,.life-compact-story figure{height:155px}.photo-portrait{height:250px}.photo-wide{height:230px}.photo-square{height:260px}.moments-pagination{margin-top:18px}.moments-pagination button{width:34px;height:34px}
  .life-hub-grid{grid-template-columns:1fr}.hub-music{grid-column:auto;padding:22px}.hub-music-layout{grid-template-columns:1fr}.hub-current-track{grid-template-columns:100px 1fr;gap:17px}.hub-album{width:100px}.hub-track-info h4{font-size:21px}.hub-queue{padding:16px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.1)}.hub-listening-note{grid-template-columns:1fr}.hub-physics-jar,.hub-wishlist{min-height:318px}
}

/* Interactive calendar */
.calendar-card { padding:24px!important; }
.calendar-card header { align-items:center;margin-bottom:18px; }
.calendar-card header>div { display:grid;gap:5px; }.calendar-card header>div b { font-size:11px; }.calendar-card header>div span { color:#a397a0;font-size:7px;letter-spacing:.14em; }
.calendar-card header>button { display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #eee6dc;border-radius:11px;color:#756a73;background:rgba(255,255,255,.78);cursor:pointer;transition:transform .3s var(--ease),color .25s,background .25s; }
.calendar-card header>button:hover { color:#d8843c;background:#fff;transform:scale(1.08) rotate(4deg); }.calendar-card header>button span { font-size:13px; }
.week,.days { gap:5px; }.week { margin-bottom:9px; }
.days button { position:relative;display:grid;place-items:center;min-width:0;aspect-ratio:1;padding:0;border:0;border-radius:50%;color:#716871;background:transparent;font-size:9px;cursor:pointer;transition:color .22s,background .22s,transform .3s var(--ease),box-shadow .3s; }
.days .calendar-empty { display:block;aspect-ratio:1; }
.days button:hover { color:#4e4651;background:#fff;box-shadow:0 7px 16px rgba(76,61,72,.1);transform:translateY(-2px) scale(1.08); }
.days button.selected:not(.today) { color:#376d7b;background:#def5fa;box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(78,192,216,.28); }
.days .post::after { bottom:2px;width:3px;height:3px; }.days button.date-pop { animation:calendar-date-pop .48s var(--ease); }
.calendar-card footer { display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:13px;border-top:1px dashed rgba(83,67,79,.12);color:#a0959e;font-size:7px;letter-spacing:.08em; }
.calendar-card footer span { display:flex;align-items:center;gap:6px; }.calendar-card footer i { width:5px;height:5px;border-radius:50%;background:#43c2de; }.calendar-card footer b { color:#736a73;font-size:8px; }
@keyframes calendar-date-pop { 45%{transform:scale(1.24);box-shadow:0 0 0 7px rgba(255,194,91,.18)} }

.calendar-dialog { width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:transparent;overflow:visible; }
.calendar-dialog[open] { display:grid;place-items:center; }
.calendar-dialog::backdrop { background:rgba(36,30,39,.42);backdrop-filter:blur(9px); }
.calendar-dialog-surface { position:relative;width:min(900px,calc(100vw - 36px));max-height:calc(100svh - 36px);overflow:auto;padding:34px;border:1px solid rgba(255,255,255,.96);border-radius:28px;color:#554d57;background:radial-gradient(circle at 92% 5%,rgba(103,214,235,.16),transparent 27%),radial-gradient(circle at 5% 96%,rgba(255,201,89,.18),transparent 28%),#fffaf2;box-shadow:0 35px 100px rgba(38,30,41,.25); }
.calendar-dialog.fallback-open .calendar-dialog-surface { animation:calendar-dialog-in .56s var(--ease) both; }
@keyframes calendar-dialog-in { from{opacity:0;transform:translateY(22px) scale(.94)}to{opacity:1;transform:none} }
.calendar-dialog-close { position:absolute;z-index:4;top:20px;right:20px;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid #ebe3d9;border-radius:50%;color:#756b74;background:rgba(255,255,255,.8);font-size:20px;cursor:pointer;transition:transform .3s,background .25s; }.calendar-dialog-close:hover { background:#fff;transform:rotate(90deg); }
.calendar-dialog-header { display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:18px;margin:2px 50px 30px; }
.calendar-dialog-header>button { display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #ebe3d9;border-radius:14px;color:#756b74;background:rgba(255,255,255,.72);font-size:15px;cursor:pointer;transition:transform .3s var(--ease),background .25s; }.calendar-dialog-header>button:hover { background:#fff;transform:translateX(-3px); }.calendar-dialog-header>button:last-child:hover { transform:translateX(3px); }
.calendar-dialog-header>div { text-align:center; }.calendar-dialog-header small { color:#df893e;font-size:7px;letter-spacing:.2em; }.calendar-dialog-header h2 { display:flex;align-items:baseline;justify-content:center;gap:12px;margin:7px 0 0;font-family:"Zen Maru Gothic","Noto Sans SC",sans-serif; }.calendar-dialog-header h2 span { font-size:32px; }.calendar-dialog-header h2 b { color:#9d929b;font:500 13px DM Sans,sans-serif;letter-spacing:.12em; }
.calendar-dialog-layout { display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:28px; }
.calendar-full { min-width:0;padding:8px 4px; }
.calendar-full-week,.calendar-full-days { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;text-align:center; }
.calendar-full-week { margin-bottom:10px; }.calendar-full-week i { padding:8px 0;color:#aaa0a8;font-size:8px;font-style:normal; }
.calendar-full-days button,.calendar-full-days .calendar-empty { position:relative;display:grid;place-items:center;min-width:0;aspect-ratio:1;padding:0;border:0;border-radius:18px;color:#6d646e;background:rgba(255,255,255,.58);font-size:12px;cursor:pointer;transition:transform .3s var(--ease),background .25s,color .25s,box-shadow .25s; }
.calendar-full-days .calendar-empty { visibility:hidden; }.calendar-full-days button:hover { color:#514953;background:#fff;box-shadow:0 10px 23px rgba(78,61,74,.1);transform:translateY(-3px); }
.calendar-full-days button.today { color:#594d56;background:#ffd15f;box-shadow:0 0 0 4px #fff; }.calendar-full-days button.selected { color:#fff;background:#53c6df;box-shadow:0 0 0 4px #fff,0 8px 25px rgba(63,170,192,.25); }.calendar-full-days button.post::after { content:"";position:absolute;bottom:8px;width:4px;height:4px;border-radius:50%;background:#e9873e; }.calendar-full-days button.selected::after { background:#fff; }
.calendar-full-days button.date-pop { animation:calendar-date-pop .48s var(--ease); }
.calendar-day-detail { display:flex;flex-direction:column;min-height:420px;padding:28px;border-left:1px solid rgba(83,67,79,.1);background:linear-gradient(155deg,rgba(255,243,189,.5),rgba(221,246,251,.58));border-radius:0 20px 20px 0; }
.calendar-day-detail>span { color:#dc873e;font-size:7px;letter-spacing:.17em; }.calendar-day-detail>strong { margin:18px 0 7px;font:500 72px/1 Georgia,serif;color:#554c56; }.calendar-day-detail h3 { margin:9px 0;color:#564d57;font:700 22px/1.45 "Zen Maru Gothic","Noto Sans SC",sans-serif; }.calendar-day-detail>p { margin:0;color:#938892;font-size:10px;line-height:1.9; }
.calendar-detail-meta { display:flex;align-items:center;justify-content:space-between;margin-top:25px;padding-top:17px;border-top:1px dashed rgba(83,67,79,.14);font-size:8px; }.calendar-detail-meta span { display:flex;align-items:center;gap:7px;color:#847981; }.calendar-detail-meta i { width:6px;height:6px;border-radius:50%;background:#50c5de; }.calendar-detail-meta b { color:#d9823a; }
.calendar-day-detail>button { margin-top:auto;padding:12px 15px;border:1px solid rgba(255,255,255,.92);border-radius:13px;color:#5c525c;background:rgba(255,255,255,.74);font-size:9px;font-weight:600;cursor:pointer;transition:transform .25s,background .25s; }.calendar-day-detail>button:hover { background:#fff;transform:translateY(-2px); }
.calendar-day-detail.detail-changing>*:not(button) { animation:calendar-detail-change .4s var(--ease) both; }
@keyframes calendar-detail-change { from{opacity:0;transform:translateY(8px)} }
.calendar-full-days.month-next { animation:calendar-month-next .45s var(--ease) both; }.calendar-full-days.month-prev { animation:calendar-month-prev .45s var(--ease) both; }
@keyframes calendar-month-next { from{opacity:0;transform:translateX(24px)} }@keyframes calendar-month-prev { from{opacity:0;transform:translateX(-24px)} }
html.calendar-transition body:not(.calendar-open) .calendar-card { view-transition-name:calendar-expand; }
html.calendar-transition body.calendar-open .calendar-dialog-surface { view-transition-name:calendar-expand; }
::view-transition-group(calendar-expand) { z-index:1000;overflow:clip;animation-duration:.72s;animation-timing-function:var(--ease); }
::view-transition-old(calendar-expand),::view-transition-new(calendar-expand) { height:100%; }
body.calendar-open { overflow:hidden; }

@media(max-width:1250px) and (min-width:761px){.content-grid{grid-template-columns:280px minmax(480px,1fr)}.story-list{grid-column:2}.profile-orbit{grid-column:1;position:relative;top:auto}.side{grid-column:1/-1;grid-row:2;grid-template-columns:1.25fr 1fr 1fr}.calendar-card{grid-column:auto}.mood,.quote{grid-column:auto}}
@media(max-width:760px){.calendar-dialog-surface{width:calc(100vw - 20px);max-height:calc(100svh - 20px);padding:22px 18px;border-radius:22px}.calendar-dialog-close{top:13px;right:13px}.calendar-dialog-header{grid-template-columns:38px 1fr 38px;gap:10px;margin:5px 38px 20px}.calendar-dialog-header>button{width:38px;height:38px}.calendar-dialog-header h2 span{font-size:25px}.calendar-dialog-layout{grid-template-columns:1fr;gap:18px}.calendar-full-week,.calendar-full-days{gap:5px}.calendar-full-days button,.calendar-full-days .calendar-empty{border-radius:12px;font-size:10px}.calendar-day-detail{min-height:285px;padding:23px;border-left:0;border-top:1px solid rgba(83,67,79,.1);border-radius:18px}.calendar-day-detail>strong{font-size:52px}.calendar-day-detail>button{margin-top:24px}}

/* 2026 editorial refresh */
.companion .cover-copy { top:55%; }
.companion .cover-copy h1 { display:block;color:#ffb2cf;font-family:"Mochiy Pop One","ZCOOL KuaiLe","Zen Maru Gothic",sans-serif;font-size:clamp(48px,5.2vw,74px);font-weight:400;letter-spacing:0;-webkit-text-stroke:3px rgba(255,255,255,.96);paint-order:stroke fill;text-shadow:0 5px 0 rgba(72,52,82,.3),0 14px 34px rgba(20,17,39,.34); }
.hero-typing { position:relative;display:inline-block;min-height:28px;margin:25px 0 0!important;padding:0 4px!important;border:0!important;color:rgba(255,255,255,.92);font:500 13px/1.9 "Noto Sans SC",sans-serif;letter-spacing:.08em!important;text-shadow:0 2px 15px rgba(12,15,30,.55);white-space:nowrap; }
.hero-typing::after { content:"";display:inline-block;width:2px;height:1.15em;margin-left:5px;vertical-align:-.12em;background:#ffd15f;opacity:0; }
.hero-typing.typing::after { opacity:1;animation:typing-caret .7s steps(1) infinite; }
@keyframes typing-caret { 50%{opacity:0} }

.page { padding-top:82px;padding-bottom:100px; }
.content-grid { grid-template-columns:270px minmax(500px,1fr) 310px;gap:28px; }
.profile-orbit { grid-column:1; }
.story-list { grid-column:2; }
.side { grid-column:3; }
.side-updates,.side-note { border-radius:8px; }
.side-updates { padding:27px 25px; }
.side-updates>header { margin-bottom:13px; }.side-updates>header span { font-size:7px; }.side-updates>header b { font-size:14px; }
.side-updates button,.side-updates a { grid-template-columns:39px minmax(0,1fr) 16px;gap:11px;padding:15px 0; }
.side-updates time { font-size:8px; }.side-updates li b { font-size:10px; }.side-updates li small { margin-top:2px;font-size:7px; }
.side-note { position:relative;min-height:178px;padding:25px;overflow:hidden;color:#f5f0e8;background:#49434b;border:1px solid rgba(255,255,255,.17);box-shadow:0 15px 40px rgba(55,43,52,.13); }
.side-note::after { content:"“";position:absolute;right:14px;top:-16px;color:rgba(255,209,95,.14);font:100px/1 Georgia,serif; }
.side-note>span { color:#74d7e9;font-size:7px;letter-spacing:.16em; }.side-note h3 { margin:10px 0 10px;font:700 18px "Zen Maru Gothic",sans-serif; }.side-note p { position:relative;z-index:1;margin:0;color:rgba(255,255,255,.58);font-size:9px;line-height:1.85; }.side-note>div { position:absolute;left:25px;bottom:20px;display:flex;align-items:center;gap:8px;color:#ffd15f;font-size:7px;letter-spacing:.1em; }.side-note>div i { width:6px;height:6px;border-radius:50%;background:#69d1a0;box-shadow:0 0 0 4px rgba(105,209,160,.12); }

.featured-weather { display:grid;grid-template-rows:auto 1fr auto;padding:22px 24px;background:#e7f6f7; }
.featured-weather::before { content:"";position:absolute;right:-34px;top:-38px;width:145px;height:145px;border:1px solid rgba(78,171,188,.13);border-radius:50%;box-shadow:0 0 0 24px rgba(255,255,255,.2); }
.featured-weather header { position:relative;z-index:1; }.featured-weather header span { color:#4199aa; }.featured-weather header b { font-size:11px; }
.weather-main { display:flex;align-items:center;justify-content:space-between;margin-top:4px; }.weather-main>strong { font:500 49px/1 Georgia,serif; }
.weather-icon { position:relative;width:72px;height:50px; }.weather-icon i { position:absolute;left:8px;top:1px;width:34px;height:34px;border-radius:50%;background:#ffd15f;box-shadow:0 0 0 7px rgba(255,209,95,.15); }.weather-icon span { position:absolute;right:2px;bottom:3px;width:51px;height:22px;border-radius:18px;background:#fff;box-shadow:-17px -8px 0 -3px #fff,0 8px 18px rgba(77,137,148,.12); }.weather-icon.rainy::after { content:"···";position:absolute;right:9px;bottom:-13px;color:#55bfd3;font-size:19px;letter-spacing:5px; }
.weather-date { display:flex;align-items:center;gap:12px;padding:10px 0;border-block:1px solid rgba(72,135,146,.13); }.weather-date>strong { color:#d9823e;font:500 31px/1 Georgia,serif; }.weather-date div { display:grid;gap:3px; }.weather-date b { font-size:10px; }.weather-date span { color:#879a9c;font-size:7px;letter-spacing:.08em; }
.featured-weather footer { display:flex;align-items:center;justify-content:space-between;padding-top:10px;color:#748b8f;font-size:8px; }.featured-weather footer b { color:#536c71;font-size:8px; }

.hub-music-layout { grid-template-columns:minmax(0,1fr) 240px; }
.hub-queue>header { align-items:center; }.hub-queue>header>div { display:grid;gap:4px; }.hub-queue>header>div span { color:#7fd8e9;font-size:6px;letter-spacing:.15em; }.hub-queue>header>div b { font-size:11px; }
.hub-queue>header>button { display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid rgba(255,255,255,.14);border-radius:6px;color:rgba(255,255,255,.7);background:rgba(255,255,255,.05);font-size:7px;cursor:pointer; }.hub-queue>header>button i { font-size:12px;font-style:normal;transition:transform .3s; }.playlist-expanded .hub-queue>header>button i { transform:rotate(180deg); }
.playlist-tracks { max-height:126px;overflow:hidden;transition:max-height .5s var(--ease); }.playlist-expanded .playlist-tracks { max-height:330px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent; }
.playlist-tracks>button { display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;padding:10px 3px;border:0;border-top:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.58);background:transparent;text-align:left;cursor:pointer; }.playlist-tracks>button:hover,.playlist-tracks>button.active { color:#fff;background:rgba(255,255,255,.04); }.playlist-tracks>button>span { color:#7fd8e9;font-size:7px; }.playlist-tracks>button div { display:grid;gap:2px;min-width:0; }.playlist-tracks>button b,.playlist-tracks>button small { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.playlist-tracks>button b { font-size:9px; }.playlist-tracks>button small { font-size:7px;opacity:.5; }.playlist-tracks>button>i { color:#ffd15f;font-size:6px;font-style:normal; }.playlist-tracks>button.active>span { color:#ffd15f; }

.about-blog { position:relative;scroll-margin-top:72px;color:#f6f0e8;background:#353138; }
.about-blog::before { content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.9%,rgba(255,255,255,.055) 50%,transparent 50.1%);pointer-events:none; }
.about-blog-inner { width:min(1380px,90vw);margin:auto;padding:120px 0 54px;display:grid;grid-template-columns:1.05fr .95fr;gap:70px 9vw; }
.about-blog header span { color:#77d8e9;font-size:8px;letter-spacing:.19em; }.about-blog h2 { margin:22px 0 0;font:700 clamp(42px,5vw,72px)/1.25 "Zen Maru Gothic",sans-serif;letter-spacing:0; }.about-blog-copy { align-self:end;display:grid;gap:20px;padding-top:38px;border-top:1px solid rgba(255,255,255,.16); }.about-blog-copy p { margin:0;color:rgba(255,255,255,.64);font-size:12px;line-height:2.1; }
.about-blog-facts { grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid rgba(255,255,255,.13); }.about-blog-facts span { display:grid;gap:7px;padding:27px 0;color:rgba(255,255,255,.4);font-size:8px;letter-spacing:.1em; }.about-blog-facts span+span { padding-left:30px;border-left:1px solid rgba(255,255,255,.13); }.about-blog-facts b { color:#ffd15f;font:500 25px Georgia,serif; }
.about-blog footer { grid-column:1/-1;display:flex;justify-content:space-between;color:rgba(255,255,255,.38);font-size:8px;letter-spacing:.15em; }.about-blog footer a { color:#fff; }

@media(max-width:1250px) and (min-width:761px){.content-grid{grid-template-columns:260px minmax(480px,1fr)}.story-list{grid-column:2}.profile-orbit{grid-column:1}.side{grid-column:1/-1;grid-row:2;grid-template-columns:1fr 1.15fr .85fr}.calendar-card{grid-column:auto}}
@media(max-width:760px){.companion .cover-copy{top:55%}.companion .cover-copy h1{font-size:clamp(38px,10.5vw,50px);white-space:nowrap;-webkit-text-stroke-width:2px}.hero-typing{max-width:88vw;min-height:52px;margin-top:20px!important;font-size:11px!important;white-space:normal}.page{padding-top:55px;padding-bottom:80px}.hub-music-layout{grid-template-columns:1fr}.playlist-tracks{max-height:122px}.playlist-expanded .playlist-tracks{max-height:300px}.side{grid-template-columns:1fr}.side-updates{padding:25px 23px}.about-blog-inner{width:calc(100% - 40px);padding:82px 0 42px;grid-template-columns:1fr;gap:42px}.about-blog h2{font-size:40px}.about-blog-copy{padding-top:28px}.about-blog-facts{grid-template-columns:1fr}.about-blog-facts span+span{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.13)}.about-blog footer{gap:20px;line-height:1.6}}

/* Navigation, cover and archive refinements */
.companion .site-nav.scrolled { top:10px;left:3.2vw;right:3.2vw;height:54px;padding:0;color:#59505d;background:transparent;border:0;border-radius:0;backdrop-filter:none;box-shadow:none;pointer-events:none; }
.companion .site-nav.scrolled .logo,.companion .site-nav.scrolled nav { pointer-events:auto;background:rgba(255,252,246,.9);border:1px solid rgba(255,255,255,.95);box-shadow:0 10px 32px rgba(69,60,82,.11);backdrop-filter:blur(16px); }
.companion .site-nav.scrolled .logo { gap:9px;padding:7px 14px 7px 7px;border-radius:18px; }
.companion .site-nav.scrolled .logo span { width:32px;height:32px;border-width:2px; }
.companion .site-nav.scrolled nav { padding:7px 12px;border-radius:18px; }
.companion .site-nav.scrolled .switch { opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none; }
.companion .site-nav.scrolled::after { opacity:0; }

.companion .cover-copy h1 { display:flex;align-items:baseline;justify-content:center;gap:9px;color:#fff;font-family:"Mochiy Pop One","Zen Maru Gothic",sans-serif;font-size:clamp(54px,6.2vw,88px);font-weight:400;letter-spacing:0;-webkit-text-stroke:1px rgba(255,255,255,.28);text-shadow:0 5px 0 rgba(32,27,42,.2),0 13px 32px rgba(13,15,31,.48); }
.companion .cover-copy h1 span { font:inherit; }
.companion .cover-copy h1 b { color:inherit;font:400 1.06em/1 "Coiny","Cooper Black",serif;letter-spacing:0; }

.side-snapshot { position:relative;min-height:225px;padding:24px;overflow:hidden;color:#5a525a;background:#fff;border:1px solid rgba(255,255,255,.96);border-radius:8px;box-shadow:0 15px 40px rgba(83,64,76,.08); }
.side-snapshot::after { content:"07";position:absolute;right:-4px;top:-17px;color:rgba(88,196,216,.08);font:700 92px/1 Georgia,serif; }
.side-snapshot>header { position:relative;z-index:1;display:flex;align-items:end;justify-content:space-between; }.side-snapshot>header span { color:#3aa9be;font-size:7px;letter-spacing:.16em; }.side-snapshot>header b { font:700 14px "Zen Maru Gothic",sans-serif; }
.snapshot-total { display:flex;align-items:end;gap:9px;margin:22px 0 17px; }.snapshot-total strong { color:#dc853c;font:500 45px/.82 Georgia,serif; }.snapshot-total span { color:#aaa0a6;font-size:6px;line-height:1.5;letter-spacing:.14em; }
.side-snapshot ul { display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:13px 0;border-block:1px dashed rgba(83,67,79,.13);list-style:none; }.side-snapshot li { display:grid;gap:5px;text-align:center; }.side-snapshot li+li { border-left:1px solid rgba(83,67,79,.1); }.side-snapshot li span { color:#a299a0;font-size:7px; }.side-snapshot li b { font:500 14px Georgia,serif; }
.side-snapshot>footer { display:flex;align-items:center;gap:9px;margin-top:16px;color:#90868e;font-size:7px; }.side-snapshot>footer i { flex:1;height:4px;overflow:hidden;border-radius:4px;background:#eee9e2; }.side-snapshot>footer i b { display:block;width:61%;height:100%;background:linear-gradient(90deg,#ffd15f,#61cade); }

.hub-album img { object-position:center; }

/* Rebuilt about section */
.about-blog { overflow:hidden;background:#302d34; }
.about-blog::before { background:linear-gradient(90deg,transparent 7%,rgba(255,255,255,.04) 7.05%,transparent 7.1%,transparent 92.9%,rgba(255,255,255,.04) 92.95%,transparent 93%); }
.about-blog-inner { width:min(1280px,86vw);padding:96px 0 48px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:62px 9vw; }
.about-intro { grid-column:1; }
.about-intro>span,.about-statement>span,.about-map>header span,.about-principles>header span { color:#72d2e5;font-size:8px;letter-spacing:.19em; }
.about-intro>p { margin:25px 0 8px;color:rgba(255,255,255,.4);font-size:9px;letter-spacing:.15em; }
.about-blog .about-intro h2 { margin:0;color:#f8f4ed;font:700 clamp(43px,4.8vw,68px)/1.3 "Zen Maru Gothic","Noto Sans SC",sans-serif;letter-spacing:0; }
.about-intro>div { display:flex;align-items:center;gap:12px;margin-top:30px;color:rgba(255,255,255,.62);font-size:9px; }.about-intro>div i { width:34px;height:1px;background:#ffd15f; }.about-intro>div b { font-weight:400; }
.about-statement { grid-column:2;align-self:end;padding:34px 0 5px;border-top:1px solid rgba(255,255,255,.17); }
.about-statement p { margin:18px 0 0;color:rgba(255,255,255,.66);font-size:12px;line-height:2.05; }

.about-map { grid-column:1/-1; }
.about-map>header,.about-principles>header { display:flex;align-items:end;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.16); }
.about-map h3,.about-principles h3 { margin:0;color:#f7f2ea;font:700 25px "Zen Maru Gothic",sans-serif; }
.about-map>div { display:grid;grid-template-columns:repeat(4,1fr); }
.about-map article { position:relative;min-height:170px;padding:24px 27px 22px 0; }.about-map article+article { padding-left:27px;border-left:1px solid rgba(255,255,255,.12); }.about-map article>span { color:#ffd15f;font:italic 18px Georgia,serif; }.about-map h4 { margin:20px 0 8px;color:#fff;font:700 20px "Zen Maru Gothic",sans-serif; }.about-map article p { margin:0;color:rgba(255,255,255,.48);font-size:9px;line-height:1.9; }.about-map article>b { position:absolute;left:0;bottom:22px;color:rgba(255,255,255,.22);font-size:7px;letter-spacing:.16em; }.about-map article+article>b { left:27px; }

.about-principles { grid-column:1/-1;display:grid;grid-template-columns:1fr 2fr;gap:7vw;padding-top:4px; }
.about-principles>header { display:block;padding:0;border:0; }.about-principles h3 { margin-top:12px;font-size:30px; }
.about-principles ol { margin:0;padding:0;list-style:none;counter-reset:principle; }.about-principles li { position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);gap:30px;padding:19px 0 19px 48px;border-top:1px solid rgba(255,255,255,.12);counter-increment:principle; }.about-principles li::before { content:"0" counter(principle);position:absolute;left:0;top:20px;color:#ffd15f;font:italic 13px Georgia,serif; }.about-principles li b { color:rgba(255,255,255,.86);font:500 13px "Noto Sans SC",sans-serif; }.about-principles li p { margin:0;color:rgba(255,255,255,.38);font-size:9px;line-height:1.8; }

.about-blog .about-footer { grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:30px;padding-top:31px;border-top:1px solid rgba(255,255,255,.16);color:inherit;font-size:inherit;letter-spacing:0; }
.about-footer>div { display:grid;gap:8px; }.about-footer span { color:#72d2e5;font-size:7px;letter-spacing:.16em; }.about-footer p { margin:0;color:rgba(255,255,255,.46);font-size:9px; }.about-footer a { display:flex;align-items:center;gap:18px;color:#fff;font-size:9px; }.about-footer a b { display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:#504750;background:#ffd15f;font-size:14px; }

@media(max-width:760px){
  .companion .site-nav.scrolled{left:10px;right:10px}.companion .site-nav.scrolled .logo b{display:none}.companion .site-nav.scrolled nav{display:none}.companion .site-nav.scrolled .switch{display:none}
  .companion .cover-copy h1{gap:5px;font-size:clamp(44px,12.5vw,58px);-webkit-text-stroke-width:0}
  .side-snapshot{min-height:220px}
  .about-blog-inner{width:calc(100% - 40px);padding:68px 0 38px;grid-template-columns:1fr;gap:42px}
  .about-intro,.about-statement,.about-map,.about-principles{grid-column:1}
  .about-blog .about-intro h2{font-size:38px}.about-statement{padding-top:28px}
  .about-map>header,.about-principles>header{display:block}.about-map h3,.about-principles h3{margin-top:10px}
  .about-map>div{grid-template-columns:1fr 1fr}.about-map article{min-height:165px;padding:22px 18px 20px 0}.about-map article:nth-child(odd){padding-left:0;border-left:0}.about-map article:nth-child(even){padding-left:18px;border-left:1px solid rgba(255,255,255,.12)}.about-map article+article>b{left:18px}.about-map article:nth-child(odd)>b{left:0}
  .about-principles{display:block}.about-principles ol{margin-top:28px}.about-principles li{grid-template-columns:1fr;gap:8px;padding-left:42px}
  .about-blog .about-footer{grid-template-columns:1fr;gap:24px}.about-footer a{justify-content:space-between}
}
