:root{--bg: #050504;--bg-soft: #0b0a09;--ivory: #eee6d8;--ivory-deep: #d8cbb6;--ivory-soft: #d8cbb6;--ivory-muted: #b8ae9d;--celadon-accent: #99a2a3;--celadon-soft: #b3bcbe;--shadow-gray: #767977;--warm-dark: #4a4740;--line: rgba(238, 230, 216, .22);--line-strong: rgba(238, 230, 216, .42);--accent-line: rgba(153, 162, 163, .45);--accent-line-strong: rgba(153, 162, 163, .72);--accent-glow: rgba(153, 162, 163, .28);--accent-bg-soft: rgba(153, 162, 163, .1);--font-serif: "Cormorant Garamond", "Times New Roman", "Noto Serif SC", "Songti SC", serif;--font-ui: Inter, "Noto Sans SC", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--ivory);background:var(--bg);font-family:var(--font-ui);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;background:radial-gradient(circle at 70% 20%,rgba(216,203,182,.055),transparent 34rem),radial-gradient(circle at 20% 85%,rgba(153,162,163,.045),transparent 30rem),linear-gradient(145deg,var(--bg),var(--bg-soft) 58%,var(--bg))}button,a{font:inherit}a{color:inherit;text-decoration:none}.page-shell{position:relative;isolation:isolate;min-height:100vh;overflow:hidden;background:radial-gradient(circle at 72% 26%,rgba(238,230,216,.045),transparent 24rem),linear-gradient(145deg,var(--bg),var(--bg-soft))}.texture-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;opacity:.5;background-image:radial-gradient(circle at 18% 24%,rgba(238,230,216,.12) 0 1px,transparent 1px),radial-gradient(circle at 78% 66%,rgba(238,230,216,.08) 0 1px,transparent 1px),radial-gradient(circle at 44% 88%,rgba(184,174,157,.08) 0 1px,transparent 1px);background-size:42px 42px,58px 58px,74px 74px;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 88%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 88%)}.site-logo{position:absolute;top:44px;left:48px;z-index:2;font-family:var(--font-serif);font-size:clamp(1.45rem,2vw,1.85rem);line-height:1;letter-spacing:0;color:var(--ivory);text-shadow:0 1px 0 rgba(238,230,216,.16),0 14px 32px rgba(0,0,0,.7)}.home{display:grid;min-height:100vh;place-items:center}.home-hero{background-color:var(--bg);background-position:center center;background-repeat:no-repeat;background-size:cover}.home-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 45%,rgba(5,5,4,.06),transparent 34%),linear-gradient(90deg,rgba(5,5,4,.1),transparent 30%,transparent 70%,rgba(5,5,4,.12))}.home-hero .site-logo,.home-hero .home-center{z-index:1}.home-hero .site-logo{top:48px;left:56px;font-size:clamp(1.45rem,1.8vw,1.75rem)}.home-center{display:grid;justify-items:center;width:min(92vw,960px);transform:translateY(-3vh)}.home-title{margin:0;font-family:var(--font-serif);font-size:clamp(3.4rem,11vw,8.25rem);font-weight:400;line-height:.92;letter-spacing:0;color:var(--ivory);background:linear-gradient(100deg,var(--ivory-muted) 0%,var(--ivory) 38%,var(--ivory-deep) 66%,#f4ecd9 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 1px 0 rgba(238,230,216,.18),0 2px 0 rgba(74,71,64,.72),0 24px 56px rgba(0,0,0,.78)}.home .home-title{font-size:clamp(4rem,7vw,6.75rem);background:linear-gradient(96deg,var(--ivory-muted) 0%,var(--ivory) 34%,var(--ivory-deep) 62%,#f2ead8 100%);background-clip:text;-webkit-background-clip:text;text-shadow:0 1px 0 rgba(238,230,216,.18),0 2px 0 rgba(74,71,64,.62),0 18px 44px rgba(0,0,0,.76)}.home-hero .home-title{text-shadow:0 1px 0 rgba(238,230,216,.22),0 2px 0 rgba(74,71,64,.7),0 20px 46px rgba(0,0,0,.84),0 0 32px rgba(238,230,216,.08)}.home-subtitle{width:min(700px,86vw);margin:20px 0 0;color:var(--ivory);font-family:var(--font-serif);font-size:clamp(1.9rem,3vw,3.25rem);font-weight:400;letter-spacing:.12em;line-height:1.1;opacity:.9;text-align:center;text-shadow:0 1px 0 rgba(238,230,216,.14),0 16px 34px rgba(0,0,0,.62)}.home-cta{margin-top:28px}.entrance-button{display:inline-flex;align-items:center;justify-content:center;min-height:62px;margin-top:48px;padding:0 34px;border:1px solid var(--line-strong);border-radius:999px;background:#eee6d809;color:var(--ivory);font-size:.9rem;letter-spacing:.18em;text-transform:lowercase;text-shadow:0 0 14px rgba(238,230,216,.18);box-shadow:inset 0 0 18px #eee6d80f,0 18px 42px #00000059;transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease}.entrance-button:after{content:"→";margin-left:14px;font-size:1rem;letter-spacing:0}.entrance-button:hover,.entrance-button:focus-visible{transform:translateY(-3px);border-color:var(--ivory);background:var(--ivory);color:var(--bg);outline:none}.home-hero .entrance-button{min-height:52px;margin-top:0;padding:0 32px;border-color:#eee6d857;background:#05050475;font-size:.78rem;text-transform:none;box-shadow:inset 0 0 18px #eee6d80d,0 0 24px #eee6d814,0 18px 42px #0000007a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.home-hero .entrance-button:after{content:none}.home-hero .entrance-button:hover,.home-hero .entrance-button:focus-visible{border-color:var(--ivory);background:#eee6d8e6}.bone-form{position:absolute;z-index:-1;pointer-events:none;background:radial-gradient(circle at 18% 24%,rgba(238,230,216,.88) 0 1px,transparent 1.8px),radial-gradient(circle at 61% 37%,rgba(74,71,64,.2) 0 1.4px,transparent 2.4px),radial-gradient(circle at 78% 68%,rgba(216,203,182,.58) 0 .8px,transparent 1.8px),repeating-radial-gradient(ellipse at 42% 58%,rgba(74,71,64,.21) 0 1.4px,transparent 1.4px 9px),repeating-linear-gradient(76deg,rgba(238,230,216,.16) 0 1px,transparent 1px 17px),linear-gradient(112deg,var(--ivory) 0%,var(--ivory-deep) 43%,var(--ivory-muted) 100%);background-size:23px 23px,37px 37px,29px 29px,auto,auto,auto;box-shadow:inset 34px 14px 46px #eee6d84d,inset -46px -28px 62px #4a47406b,inset 0 0 0 1px #eee6d81f,0 36px 92px #000000b8;filter:saturate(.72)}.bone-form:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(circle at 24% 34%,rgba(74,71,64,.22) 0 1px,transparent 1.8px),radial-gradient(circle at 55% 58%,rgba(238,230,216,.3) 0 .8px,transparent 1.6px),radial-gradient(circle at 72% 25%,rgba(74,71,64,.16) 0 1px,transparent 2px),repeating-linear-gradient(108deg,transparent 0 10px,rgba(74,71,64,.08) 10px 11px);background-size:31px 31px,27px 27px,43px 43px,auto;mix-blend-mode:multiply;opacity:.62}.bone-form-left{left:-180px;bottom:-210px;width:min(48vw,560px);height:min(56vw,650px);border-radius:44% 56% 22% 78%/62% 42% 58% 38%;transform:rotate(-24deg);opacity:.82}.bone-form-right{top:7vh;right:-250px;width:min(42vw,500px);height:86vh;border-radius:58% 0 0 44%/48% 0 0 52%;transform:rotate(7deg);opacity:.74}.bone-form-right:after{content:"";position:absolute;top:8%;right:16%;bottom:8%;left:24%;border-left:1px solid rgba(238,230,216,.46);border-radius:58% 0 0 44%/48% 0 0 52%;box-shadow:-18px 0 26px #4a47403d,inset 16px 0 20px #eee6d814}.time-page,.solar-terms-page{min-height:100vh;padding:42px clamp(22px,5vw,72px) 56px}.time-header{position:relative;display:flex;align-items:flex-start;justify-content:space-between;min-height:58px}.time-logo{position:static}.return-link{margin-top:4px;color:var(--ivory-muted);font-size:.76rem;font-family:var(--font-serif);letter-spacing:.12em;text-transform:lowercase;transition:color .18s ease}.return-link:hover,.return-link:focus-visible{color:var(--celadon-accent);outline:none}.time-layout{display:grid;grid-template-columns:minmax(0,1.08fr) 1px minmax(320px,.72fr);gap:clamp(28px,5vw,64px);align-items:stretch;width:min(1180px,100%);margin:clamp(42px,8vh,88px) auto 0}.time-divider{width:1px;min-height:650px;background:linear-gradient(to bottom,transparent,var(--accent-line),transparent)}.calendar-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.eyebrow,.meta-label{margin:0 0 10px;color:var(--ivory-muted);font-family:var(--font-serif);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}.calendar-toolbar h1,.time-panel h2{margin:0;font-family:var(--font-serif);font-weight:400;letter-spacing:0;color:var(--ivory)}.calendar-toolbar h1{font-size:clamp(2.6rem,6vw,5.25rem);line-height:.94}.calendar-actions{display:inline-flex;align-items:center;gap:8px}.calendar-actions button{display:inline-grid;min-width:42px;height:42px;place-items:center;border:1px solid var(--line);border-radius:999px;background:#eee6d806;color:var(--ivory);font-family:var(--font-serif);cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.calendar-actions .today-button{min-width:72px;padding:0 16px;color:var(--ivory-muted);font-size:.72rem;letter-spacing:.14em;text-transform:lowercase}.calendar-actions button:hover,.calendar-actions button:focus-visible{transform:translateY(-2px);border-color:var(--accent-line);background:var(--accent-bg-soft);outline:none}.weekday-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekday-row{margin-bottom:12px;color:var(--ivory-muted);font-family:var(--font-serif);font-size:.9rem;text-align:center}.calendar-grid{border-top:1px solid var(--line);border-left:1px solid var(--line)}.day-cell{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;aspect-ratio:1 / .82;min-height:76px;padding:13px 12px 10px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#eee6d805;color:var(--ivory);cursor:pointer;text-align:left;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.day-cell:hover,.day-cell:focus-visible{background:var(--accent-bg-soft);outline:none}.day-cell.muted-month{color:#b8ae9d61}.date-number{position:relative;display:inline-grid;width:30px;height:30px;place-items:center;border-radius:50%;font-family:var(--font-serif);font-size:1.22rem;line-height:1}.lunar-label{min-height:16px;color:var(--ivory-muted);font-family:var(--font-serif);font-size:clamp(.62rem,1.1vw,.72rem);line-height:1.25}.solar-term-label{min-height:16px;color:var(--celadon-accent);font-family:var(--font-serif);font-size:clamp(.66rem,1.12vw,.76rem);line-height:1.25;letter-spacing:.08em;opacity:1;text-shadow:0 0 12px var(--accent-glow)}.day-cell.has-term{background:radial-gradient(circle at 27px 25px,rgba(153,162,163,.13),transparent 42px),#99a2a30b}.day-cell.has-term:after{content:none}.day-cell.has-term .date-number{color:var(--ivory)}.day-cell.has-term .date-number:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid var(--accent-line-strong);border-left-color:transparent;border-radius:50%;box-shadow:0 0 18px var(--accent-glow);transform:rotate(-22deg)}.day-cell.is-today .date-number{border:1px solid var(--line-strong);box-shadow:0 0 0 3px #eee6d809,0 0 14px #99a2a32e}.day-cell.is-selected{background:var(--accent-bg-soft);box-shadow:inset 0 0 0 1px var(--accent-line)}.day-cell.is-selected .date-number{border:1px solid var(--celadon-accent);box-shadow:0 0 16px var(--accent-glow)}.day-cell.is-selected.has-term{background:radial-gradient(circle at 27px 25px,rgba(153,162,163,.18),transparent 44px),#99a2a31f}.solar-terms-stage{display:grid;grid-template-columns:minmax(500px,.92fr) minmax(290px,.42fr);gap:clamp(36px,6vw,86px);align-items:center;width:min(1180px,100%);margin:clamp(34px,6vh,70px) auto 0}.solar-dial-shell{position:relative;width:min(72vh,680px);max-width:100%;aspect-ratio:1;margin-inline:auto;border-radius:50%;background:radial-gradient(circle,rgba(238,230,216,.032) 0 26%,transparent 26.5%),radial-gradient(circle,transparent 52%,rgba(153,162,163,.045) 52.5% 53%,transparent 53.5%),radial-gradient(circle,transparent 68%,rgba(238,230,216,.075) 68.5% 69%,transparent 69.5%),radial-gradient(circle,transparent 81%,rgba(153,162,163,.2) 81.5% 82%,transparent 82.5%);box-shadow:inset 0 0 80px #eee6d807,0 34px 82px #0000007a}.solar-dial-shell:before{content:"";position:absolute;top:8%;right:8%;bottom:8%;left:8%;border:1px solid rgba(238,230,216,.11);border-radius:50%;background:radial-gradient(circle at 52% 12%,rgba(238,230,216,.12) 0 1px,transparent 2px),radial-gradient(circle at 22% 72%,rgba(216,203,182,.1) 0 1px,transparent 2px);background-size:38px 38px,54px 54px;pointer-events:none}.season-ring{position:absolute;top:9%;right:9%;bottom:9%;left:9%;border-radius:50%;pointer-events:none}.season-arc{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;transform:rotate(var(--season-angle))}.season-arc:after{content:"";position:absolute;left:50%;top:-1px;width:44%;height:44%;border-top:1px solid rgba(238,230,216,.36);border-radius:100% 0 0;transform-origin:left bottom}.season-arc-1:after,.season-arc-3:after{border-top-color:var(--accent-line)}.solar-dial-core{position:absolute;top:38%;right:38%;bottom:38%;left:38%;display:grid;place-items:center;border:1px solid rgba(238,230,216,.18);border-radius:50%;color:#eee6d86b;font-family:var(--font-serif);font-size:clamp(1.4rem,3vw,2.5rem);box-shadow:inset 0 0 28px #eee6d807}.solar-term-node,.today-marker{position:absolute;left:50%;top:50%;transform:rotate(var(--term-angle)) translate(clamp(160px,24vw,292px)) rotate(var(--label-angle));transform-origin:0 0}.solar-term-node{display:grid;justify-items:center;align-items:center;gap:0;width:108px;min-height:62px;margin-left:-54px;margin-top:-31px;border:0;background:transparent;color:#eee6d8ad;cursor:pointer;font-family:var(--font-serif);opacity:.86;transition:color .22s ease,opacity .22s ease,text-shadow .22s ease;transform:rotate(var(--term-angle)) translate(clamp(160px,24vw,292px)) rotate(var(--label-angle))}.solar-term-node-marker{position:absolute;left:50%;top:50%;width:7px;height:7px;border:1px solid rgba(238,230,216,.54);border-radius:999px;background:#050504ad;box-shadow:0 0 10px #eee6d814;opacity:.72;transition:background .22s ease,box-shadow .22s ease,opacity .22s ease,border-color .22s ease;transform:rotate(var(--term-angle)) translate(-31px) rotate(var(--label-angle)) translate(-50%,-50%)}.solar-term-node-label{display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1.06;white-space:nowrap;pointer-events:none;transition:color .22s ease,opacity .22s ease,text-shadow .22s ease}.solar-term-node-cn{font-family:var(--font-serif);font-size:clamp(.86rem,1.02vw,1.12rem);letter-spacing:.04em}.solar-term-node-pinyin{color:var(--ivory-muted);font-family:var(--font-serif);font-size:clamp(.54rem,.62vw,.68rem);letter-spacing:.02em;opacity:.78;transition:color .22s ease,opacity .22s ease}.solar-term-node:hover,.solar-term-node:focus-visible,.solar-term-node.is-highlighted{color:var(--celadon-accent);opacity:1;text-shadow:0 0 18px var(--accent-glow);outline:none}.solar-term-node:hover .solar-term-node-pinyin,.solar-term-node:focus-visible .solar-term-node-pinyin,.solar-term-node.is-highlighted .solar-term-node-pinyin{color:var(--celadon-soft);opacity:1}.solar-term-node:hover .solar-term-node-marker,.solar-term-node:focus-visible .solar-term-node-marker,.solar-term-node.is-highlighted .solar-term-node-marker{background:var(--celadon-accent);border-color:var(--accent-line-strong);box-shadow:0 0 20px var(--accent-glow);opacity:1;transform:rotate(var(--term-angle)) translate(-31px) rotate(var(--label-angle)) translate(-50%,-50%)}.today-marker{--term-angle: var(--today-angle);--label-angle: calc(var(--today-angle) * -1);display:grid;justify-items:center;gap:4px;width:46px;margin-left:-23px;margin-top:-13px;color:var(--celadon-accent);cursor:pointer;text-decoration:none;transform:rotate(var(--today-angle)) translate(clamp(128px,18vw,220px)) rotate(calc(var(--today-angle) * -1));z-index:3;pointer-events:auto;transition:color .22s ease,opacity .22s ease}.today-marker-dot{width:8px;height:8px;border-radius:999px;background:var(--celadon-accent);box-shadow:0 0 16px #99a2a38a;transition:background .22s ease,box-shadow .22s ease}.today-marker-label{color:var(--celadon-accent);font-family:var(--font-serif);font-size:.72rem;letter-spacing:.12em;opacity:.95;transition:color .22s ease,text-shadow .22s ease}.today-marker:hover,.today-marker:focus-visible{color:var(--ivory);outline:none;opacity:1;text-shadow:0 0 14px var(--accent-glow)}.today-marker:hover .today-marker-dot,.today-marker:focus-visible .today-marker-dot{background:var(--ivory);box-shadow:0 0 20px var(--accent-glow)}.solar-term-info{align-self:center;padding-top:clamp(8px,1vw,14px);border-top:1px solid var(--accent-line);border-bottom:1px solid var(--line)}.solar-term-info h2{margin:0 0 24px;color:var(--ivory);font-family:var(--font-serif);font-size:clamp(3rem,6vw,5.4rem);font-weight:400;line-height:.95;letter-spacing:0;text-shadow:0 18px 38px rgba(0,0,0,.54)}.solar-term-info dl{display:grid;gap:12px;margin:0;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.solar-term-info dl div{display:flex;justify-content:space-between;gap:18px}.solar-term-info dt,.solar-term-info dd{margin:0;font-family:var(--font-serif);line-height:1.5}.solar-term-info dt{color:var(--ivory-muted)}.solar-term-info dd{color:var(--celadon-soft)}.solar-term-info>div>p:last-child{margin:24px 0 0;color:var(--ivory-soft);font-family:var(--font-serif);font-size:clamp(1.08rem,1.6vw,1.28rem);line-height:1.8}.solar-terms-page{--month-ring-radius: clamp(112px, 10.5vw, 152px);min-height:100vh;height:100vh;overflow:hidden;padding:22px clamp(22px,3.4vw,50px) 18px;background:radial-gradient(circle at 63% 42%,rgba(238,230,216,.07),transparent 24rem),radial-gradient(circle at 26% 76%,rgba(153,162,163,.035),transparent 18rem),linear-gradient(145deg,var(--bg),var(--bg-soft) 52%,var(--bg))}.solar-terms-header{position:relative;display:flex;align-items:flex-start;justify-content:space-between;min-height:36px;z-index:3}.solar-identity-rail{position:absolute;left:clamp(26px,4vw,60px);top:112px;display:grid;justify-items:center;gap:14px;z-index:2}.solar-seal{display:grid;place-items:center;width:76px;height:76px;border:1px solid rgba(238,230,216,.2);border-radius:50%;color:var(--ivory);font-family:var(--font-serif);box-shadow:inset 0 0 22px #eee6d809}.solar-seal span:first-child{align-self:end;font-size:1.08rem;line-height:1}.solar-seal span:last-child{align-self:start;color:var(--ivory-muted);font-size:.78rem;line-height:1.2}.rail-line{width:1px;height:84px;background:linear-gradient(to bottom,var(--line),rgba(238,230,216,.04))}.rail-dot{width:8px;height:8px;border-radius:999px;background:#eee6d847}.rail-label{margin-top:12px;color:var(--ivory-muted);font-family:var(--font-serif);font-size:.86rem;line-height:1.25;letter-spacing:.08em}.solar-intro{position:relative;z-index:2;width:100%;margin:0}.solar-intro h1{margin:0 0 8px;color:var(--ivory);font-family:var(--font-serif);font-size:clamp(2rem,2.55vw,2.4rem);font-weight:400;letter-spacing:.01em;line-height:1.08}.solar-intro p,.solar-intro strong{display:block;margin:0;color:var(--ivory-soft);font-family:var(--font-serif);font-size:clamp(.9rem,1.05vw,1rem);font-weight:400;line-height:1.48;letter-spacing:.01em}.solar-intro strong{margin-top:10px;color:var(--ivory);font-size:clamp(1.05rem,1.25vw,1.2rem)}.solar-terms-composition{position:relative;z-index:2;display:grid;grid-template-columns:minmax(560px,.98fr) minmax(430px,.78fr);gap:clamp(88px,8vw,132px);align-items:center;width:min(1360px,calc(100vw - 104px));margin:clamp(18px,2.8vh,30px) 0 0 clamp(68px,6.5vw,116px)}.solar-right-stack{display:grid;gap:18px;align-self:center}.solar-dial-area{display:grid;place-items:center;min-height:auto;transform:translateY(0)}.solar-terms-page .solar-dial-shell{width:clamp(390px,32vw,500px);min-width:0;background:radial-gradient(circle,rgba(238,230,216,.1) 0 1.6%,transparent 2.1%),radial-gradient(circle,transparent 19%,rgba(238,230,216,.15) 19.2% 19.5%,transparent 19.8%),radial-gradient(circle,transparent 36%,rgba(153,162,163,.1) 36.2% 36.7%,transparent 37%),radial-gradient(circle,transparent 66%,rgba(238,230,216,.12) 66.2% 66.5%,transparent 66.9%),radial-gradient(circle,transparent 82%,rgba(238,230,216,.34) 82.2% 82.5%,transparent 82.9%)}.solar-terms-page .solar-dial-shell:after{content:"";position:absolute;top:23%;right:23%;bottom:23%;left:23%;border-radius:50%;background:repeating-conic-gradient(from -90deg,rgba(238,230,216,.11) 0 1deg,transparent 1deg 4deg);-webkit-mask-image:radial-gradient(circle,transparent 0 44%,#000 45% 53%,transparent 54%);mask-image:radial-gradient(circle,transparent 0 44%,#000 45% 53%,transparent 54%);pointer-events:none}.dial-ticks{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none}.dial-tick{position:absolute;left:50%;top:50%;width:1px;height:41%;background:linear-gradient(to bottom,rgba(238,230,216,.34),transparent 34%);transform:rotate(var(--tick-angle));transform-origin:0 0;opacity:.42}.month-label-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none}.month-label{position:absolute;left:50%;top:50%;color:var(--ivory-muted);font-family:var(--font-serif);font-size:clamp(.62rem,.7vw,.82rem);letter-spacing:.08em;opacity:.42;transform:rotate(var(--month-angle)) translate(var(--month-ring-radius)) rotate(var(--month-label-angle)) translate(-50%,-50%)}.season-label{position:absolute;left:50%;top:50%;display:grid;justify-items:center;gap:3px;color:var(--ivory);font-family:var(--font-serif);transform:rotate(var(--season-label-angle)) translate(22%) rotate(var(--season-label-reset));transform-origin:0 0}.season-label b{font-size:clamp(1.75rem,3vw,2.8rem);font-weight:400}.season-label small{color:var(--ivory-muted);font-size:.78rem;letter-spacing:.12em}.solar-terms-page .solar-dial-core{top:46%;right:46%;bottom:46%;left:46%;border-color:#eee6d833;background:radial-gradient(circle at 38% 30%,var(--ivory),var(--ivory-deep) 38%,var(--warm-dark) 100%);box-shadow:0 0 34px #eee6d81f,inset -8px -8px 18px #4a474080}.solar-terms-page .solar-term-node{transform:rotate(var(--term-angle)) translate(clamp(210px,18.6vw,292px)) rotate(var(--label-angle))}.solar-terms-page .today-marker{transform:rotate(var(--today-angle)) translate(var(--month-ring-radius)) rotate(calc(var(--today-angle) * -1))}.solar-terms-page .today-marker:hover,.solar-terms-page .today-marker:focus-visible{transform:rotate(var(--today-angle)) translate(var(--month-ring-radius)) rotate(calc(var(--today-angle) * -1))}.solar-terms-page .solar-term-node.is-dimmed{opacity:.22}.solar-terms-page .solar-term-node.is-highlighted{color:var(--celadon-accent);opacity:1;text-shadow:0 0 18px var(--accent-glow)}.solar-terms-page .solar-term-node.is-highlighted .solar-term-node-marker{background:#99a2a338;border-color:var(--celadon-accent);box-shadow:0 0 18px var(--accent-glow);opacity:1;transform:rotate(var(--term-angle)) translate(-31px) rotate(var(--label-angle)) translate(-50%,-50%)}.solar-term-side{display:grid;gap:16px}.category-panel,.term-detail-card{border:1px solid rgba(238,230,216,.2);border-radius:8px;background:radial-gradient(circle at 10% 0%,rgba(238,230,216,.04),transparent 42%),#0505047a;box-shadow:0 22px 54px #00000047;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.category-panel{overflow:hidden}.category-row{display:grid;grid-template-columns:38px minmax(116px,.5fr) minmax(220px,1fr);align-items:center;width:100%;min-height:58px;padding:9px 16px;border:0;border-bottom:1px solid rgba(238,230,216,.12);background:transparent;color:var(--ivory);cursor:pointer;text-align:left;transition:background .22s ease,box-shadow .22s ease,color .22s ease}.category-row:last-child{border-bottom:0}.category-row.is-active,.category-row:hover,.category-row:focus-visible{background:linear-gradient(90deg,var(--accent-bg-soft),rgba(153,162,163,.02));box-shadow:inset 0 0 0 1px var(--accent-line),0 0 24px #99a2a31a;outline:none}.category-icon{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line-strong);border-radius:50%;color:var(--ivory)}.category-icon span{width:16px;height:16px;border:1px solid currentColor;border-radius:50%;opacity:.8}.category-icon-axis span{border-radius:0;transform:rotate(45deg)}.category-icon-waves span{width:18px;height:9px;border:0;border-top:1px solid currentColor;border-bottom:1px solid currentColor;border-radius:999px}.category-icon-leaf span{border-radius:80% 0;transform:rotate(-25deg)}.category-row-title{display:grid;gap:3px;font-family:var(--font-serif)}.category-row-title b{color:var(--ivory);font-size:1.08rem;font-weight:400}.category-row-title em{color:var(--ivory-muted);font-family:var(--font-serif);font-size:.74rem;font-style:normal;letter-spacing:.04em}.category-row-description{color:var(--ivory-soft);font-family:var(--font-serif);font-size:.82rem;font-style:normal}.category-row-description{display:grid;gap:3px;color:var(--ivory-muted);line-height:1.35}.category-row-description span{color:var(--ivory-soft)}.category-row-description small{color:var(--ivory-muted);font-family:var(--font-serif);font-size:.72rem;line-height:1.35}.term-detail-card{padding:18px 22px}.term-detail-content{display:grid;grid-template-columns:136px 1fr;gap:22px;align-items:center}.term-medallion{display:grid;place-items:center;aspect-ratio:1;border:1px solid var(--line-strong);border-radius:50%;background:radial-gradient(circle at 50% 0%,var(--accent-glow),transparent 20%),radial-gradient(circle,transparent 62%,rgba(238,230,216,.1) 63%,transparent 64%);box-shadow:inset 0 0 40px #eee6d809,0 0 24px #99a2a314}.medallion-icon{width:58%;height:58%;overflow:visible;fill:none;stroke:var(--ivory);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.45;filter:drop-shadow(0 0 10px rgba(153,162,163,.2));opacity:.92}.medallion-icon-axis,.medallion-icon-shifts,.medallion-icon-rhythms{stroke:var(--celadon-soft)}.term-detail-copy h2{margin:0 0 4px;color:var(--ivory);font-family:var(--font-serif);font-size:clamp(2.35rem,3.2vw,3.6rem);font-weight:400;line-height:1}.term-chinese-name{margin:0 0 10px;color:var(--ivory-muted);font-family:var(--font-serif);font-size:1.02rem;letter-spacing:.04em}.term-category-line{margin:0 0 10px;color:var(--celadon-soft);font-family:var(--font-serif);font-size:.98rem}.term-category-line span{margin-left:10px;color:var(--ivory-muted)}.term-detail-copy p:not(.term-category-line):not(.term-chinese-name){margin:0;color:var(--ivory-soft);font-family:var(--font-serif);font-size:.98rem;line-height:1.62}.term-detail-copy small{display:block;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);color:var(--ivory-muted);font-family:var(--font-serif);font-size:1rem}.solar-bottom-line{position:relative;z-index:2;width:min(760px,90%);margin:clamp(38px,5vh,58px) auto 0;color:var(--ivory);font-family:var(--font-serif);font-size:clamp(1rem,1.45vw,1.36rem);letter-spacing:.12em;text-align:center}.solar-bottom-line:before,.solar-bottom-line:after{content:"";display:inline-block;width:min(86px,10vw);height:1px;margin:0 18px .35em;background:linear-gradient(to right,transparent,var(--line-strong))}.solar-bottom-line:after{background:linear-gradient(to left,transparent,var(--line-strong))}.time-panel{align-self:center;min-height:560px;padding:clamp(8px,1vw,14px) 0}.time-panel h2{font-size:clamp(2.2rem,4.4vw,4.4rem);line-height:.98}.weekday-label{margin:18px 0 46px;color:var(--ivory-muted);font-family:var(--font-serif);font-size:1.16rem}.time-basics{display:grid;gap:8px;padding:22px 0 24px;border-top:1px solid var(--accent-line);border-bottom:1px solid var(--line)}.time-basics p{margin:0;color:var(--ivory);font-family:var(--font-serif);font-size:1rem;line-height:1.7}.time-basics span{color:var(--celadon-accent)}.seasonal-sections{display:grid;gap:0;margin-top:30px;border-top:1px solid var(--accent-line)}.seasonal-section{padding:22px 0 24px;border-bottom:1px solid var(--line)}.section-title{margin:0 0 8px;color:var(--ivory);font-family:var(--font-serif);font-size:clamp(1.28rem,2vw,1.58rem);font-weight:400;letter-spacing:0;text-shadow:0 1px 0 rgba(255,255,255,.1),0 14px 30px rgba(0,0,0,.42)}.section-subtitle{margin:0 0 13px;color:var(--celadon-accent);font-family:var(--font-serif);font-size:.88rem;letter-spacing:.04em}.section-body{margin:0;color:var(--ivory-soft);font-family:var(--font-serif);font-size:clamp(1rem,1.25vw,1.12rem);line-height:1.75}@media(max-width:860px){.site-logo{top:28px;left:24px;font-size:1.42rem}.home-center{transform:translateY(-1vh)}.entrance-button{width:min(84vw,310px)}.bone-form-left{left:-190px;width:360px;height:460px}.bone-form-right{right:-340px;width:390px;opacity:.42}.time-page{padding:28px 22px 42px}.solar-terms-page{--month-ring-radius: min(28vw, 180px);height:auto;overflow:visible;padding:28px 22px 42px}.time-layout{grid-template-columns:1fr;gap:36px;margin-top:44px}.time-divider{width:100%;min-height:1px;height:1px;background:linear-gradient(to right,transparent,var(--line),transparent)}.calendar-toolbar{align-items:flex-start;flex-direction:column}.day-cell{min-height:64px;padding:10px 8px 8px}.date-number{width:27px;height:27px;font-size:1.05rem}.time-panel{min-height:auto}.solar-terms-stage{grid-template-columns:1fr;gap:34px;margin-top:38px}.solar-dial-shell{width:min(94vw,560px)}.solar-term-node{transform:rotate(var(--term-angle)) translate(min(38vw,226px)) rotate(var(--label-angle))}.today-marker{transform:rotate(var(--today-angle)) translate(min(43vw,254px)) rotate(calc(var(--today-angle) * -1))}.solar-identity-rail{display:none}.solar-intro{width:min(100%,720px);margin:32px auto 0}.solar-terms-composition{grid-template-columns:1fr;width:min(100%,760px);margin:34px auto 0}.solar-dial-area{min-height:auto;transform:none}.solar-terms-page .solar-dial-shell{width:min(94vw,620px);min-width:0}.solar-terms-page .solar-term-node{transform:rotate(var(--term-angle)) translate(min(42vw,286px)) rotate(var(--label-angle))}.solar-terms-page .today-marker{transform:rotate(var(--today-angle)) translate(var(--month-ring-radius)) rotate(calc(var(--today-angle) * -1))}.category-row{grid-template-columns:44px minmax(150px,.8fr) 1fr}.term-detail-content{grid-template-columns:150px 1fr}.solar-bottom-line:before,.solar-bottom-line:after{width:min(70px,12vw);margin-inline:14px}}@media(max-width:520px){.home-title{font-size:clamp(3.5rem,15vw,4.8rem)}.entrance-button{min-height:58px;font-size:.76rem}.calendar-grid{margin-inline:-8px}.day-cell{aspect-ratio:1 / 1.05;min-height:58px;padding:8px 5px 6px}.lunar-label{font-size:.56rem}.solar-term-label{font-size:.58rem;letter-spacing:.04em}.day-cell.has-term .date-number:after{top:-3px;right:-3px;bottom:-3px;left:-3px}.solar-term-node{width:78px;margin-left:-39px}.solar-term-node-label{gap:1px}.solar-term-node-cn{font-size:.74rem}.solar-term-node-pinyin{font-size:.48rem}.today-marker-label{font-size:.6rem}.solar-terms-page{--month-ring-radius: min(32vw, 126px);padding-inline:18px}.solar-intro h1{font-size:clamp(1.9rem,8vw,2.45rem);letter-spacing:.01em}.solar-intro p,.solar-intro strong{letter-spacing:.01em}.solar-terms-page .solar-dial-shell{width:min(98vw,390px)}.season-label b{font-size:1.4rem}.season-label small{font-size:.58rem}.solar-terms-page .solar-term-node{width:72px;margin-left:-36px;transform:rotate(var(--term-angle)) translate(min(45vw,188px)) rotate(var(--label-angle))}.solar-terms-page .today-marker{transform:rotate(var(--today-angle)) translate(var(--month-ring-radius)) rotate(calc(var(--today-angle) * -1))}.category-row{grid-template-columns:38px 1fr;gap:8px 12px;padding:14px}.category-row-description{grid-column:2}.category-row-title{flex-wrap:wrap;gap:8px}.term-detail-card{padding:20px}.term-detail-content{grid-template-columns:1fr;gap:18px}.term-medallion{width:132px}.solar-bottom-line{font-size:1.1rem;line-height:1.7}.solar-bottom-line:before,.solar-bottom-line:after{display:none}}
