:root{color-scheme:dark;--bg:#080f16;--text:#e6e6de;--muted:#87979f;--line:rgba(153,182,189,.15);--gold:#caba96;--mint:#a0cbbb;--serif:"Noto Serif SC","Songti SC","STSong","SimSun",serif;--sans:"Microsoft YaHei","PingFang SC",system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.7 var(--sans);-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button{background:transparent;border:0}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--mint);outline-offset:5px}a,button{transition:color .2s,background .2s,border-color .2s,opacity .2s}::selection{background:#427467;color:#fff}.wrap{width:calc(100% - 100px);max-width:1440px;margin-inline:auto}#starfield{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}.site-header{height:102px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font:24px var(--serif);letter-spacing:3px}.brand-star{font-size:48px;color:var(--gold);line-height:1}.brand small{display:block;font:8px/2.4 var(--sans);letter-spacing:2.5px;color:#9caab0}.site-header nav{display:flex;gap:40px;height:100%;align-items:center;color:var(--muted);font-size:13px}.site-header nav a{height:100%;display:flex;align-items:center;position:relative}.site-header nav a:hover,.site-header nav a.nav-active{color:var(--text)}.nav-active:after{content:"";width:18px;position:absolute;height:2px;background:var(--gold);bottom:25px;left:calc(50% - 9px)}.birthday-button{border:1px solid rgba(202,186,150,.35);border-radius:3px;padding:9px 17px;font-size:12px;color:var(--gold)}.birthday-button span:first-child{margin-right:6px;font-size:17px}.birthday-button span:last-child{margin-left:14px}.birthday-button:hover{background:rgba(202,186,150,.09);border-color:var(--gold)}.intro{padding-top:46px;padding-bottom:39px;display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:9px;font-weight:400;letter-spacing:2.7px;color:var(--gold);margin:0 0 14px}.intro .eyebrow{display:flex;align-items:center;gap:8px}.eyebrow>span{width:5px;height:5px;background:var(--gold);border-radius:50%}h1{font-family:var(--serif);font-size:clamp(29px,2.9vw,44px);font-weight:400;letter-spacing:3px;line-height:1.5;margin:0 0 12px}h1 span{color:var(--gold)}.intro-copy{color:var(--muted);font-size:12px;letter-spacing:1px;margin:0}.intro-note{display:flex;align-items:center;gap:20px;font-size:11px;color:#a2aead;line-height:2.2;letter-spacing:2px}.intro-note small{font-size:8px;letter-spacing:1.6px;color:#62757d}.tiny-orbit{height:54px;width:54px;border:1px solid #32413f;border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:26px;position:relative}.tiny-orbit:after{content:"";position:absolute;width:68px;height:20px;border:1px solid #32413f;border-radius:50%;transform:rotate(-40deg)}.atlas-section{border:1px solid var(--line);border-bottom:0;border-radius:5px 5px 0 0;overflow:hidden;background:rgba(8,17,24,.36)}.section-bar{height:54px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 23px;font-size:11px}.section-caption{display:flex;gap:10px;align-items:center;letter-spacing:1px}.status-dot{width:5px;height:5px;border-radius:50%;background:var(--mint);box-shadow:0 0 8px #7bbca070}.bar-en{font:9px var(--sans);letter-spacing:1.6px;color:#627984;margin-left:3px}.map-actions{display:flex;align-items:center;gap:22px}.map-hint{color:#6f858e;font-size:10px}.map-actions button{font-size:10px;border:1px solid #293a43;border-radius:3px;padding:3px 9px;color:#a1b5bb}.map-actions button[aria-pressed=false]{opacity:.6}.map-actions button span{font-size:17px;vertical-align:middle;margin-right:5px}.atlas-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px}.chart-shell{position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,#12292a40,transparent 70%)}.chart-meta,.chart-footer{display:flex;justify-content:space-between;font:8px var(--sans);letter-spacing:1.8px;color:#70838a;position:absolute;left:22px;right:22px;z-index:2;pointer-events:none}.chart-meta{top:19px}.chart-meta span:first-child{letter-spacing:1px}.chart-footer{bottom:19px;font-size:9px;letter-spacing:.6px}.chart-footer b{color:var(--mint);font-weight:400;margin-left:8px}.chart-footer i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--mint);margin-right:6px}.chart{position:relative;width:100%;aspect-ratio:880/680;max-width:1000px;align-self:center}.chart>svg{width:100%;height:100%;display:block;overflow:visible}.grid-line{fill:none;stroke:#2a424b;stroke-width:.6;opacity:.65}.axis-line{stroke:#31424a;stroke-width:.5;stroke-dasharray:2 8}.constellation{color:#7f9aab;opacity:.76;transition:opacity .4s,color .4s}.constellation.selected{color:var(--mint);opacity:1}.constellation.dimmed{opacity:.68}.constellation polyline{stroke:currentColor;stroke-width:1.1;fill:none;transition:opacity .35s}.hide-lines .constellation polyline,.hide-lines .sign-drawing polyline{opacity:0}.constellation circle{fill:#b4c9d1}.constellation.selected circle{fill:#e2f6df}.star-halo{opacity:0;transition:opacity .4s}.selected .star-halo{opacity:.48}.chart-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;width:32%;color:var(--gold)}.orbit-mark{width:54px;height:54px;margin:0 auto 16px;display:grid;place-items:center;border:1px solid #52615175;border-radius:50%;font-size:25px;position:relative}.orbit-mark:before,.orbit-mark:after{content:"";position:absolute;border:1px solid #7488763d;width:66px;height:66px;border-radius:50%}.orbit-mark:after{width:88px;height:1px;transform:rotate(-35deg)}.chart-center p{font:20px/1.4 var(--serif);letter-spacing:4px;margin:0 0 8px}.chart-center>span{font-size:8px;letter-spacing:5px;opacity:.7}.chart-center small{display:block;color:#657c83;font-size:10px;letter-spacing:1px;margin-top:20px}.chart-label{position:absolute;transform:translate(-50%,-50%);width:12.6%;min-height:40px;padding:4px 0;display:flex;flex-direction:column;align-items:center;border-radius:4px;line-height:1.45;color:#a7b7bf;white-space:nowrap}.chart-label .label-name{font-size:12px;letter-spacing:1px}.chart-label small{font-size:7px;letter-spacing:1.5px;text-transform:uppercase;color:#6c8591;margin-top:3px}.chart-label:before{content:"";position:absolute;inset:-60px -5px 0;border-radius:50%;z-index:-1}.chart-label:hover{color:#eaf5e5;background:#b1d5be0b}.chart-label[aria-pressed=true]{color:var(--mint)}.chart-label[aria-pressed=true] .label-name:before{content:"";display:inline-block;width:4px;height:4px;background:var(--mint);border-radius:50%;margin:0 6px 3px -10px;box-shadow:0 0 10px #95d9b7}.chart-label[aria-pressed=true] small{color:#9cbcab}.detail-panel{padding:27px 28px 15px;border-left:1px solid var(--line);background:linear-gradient(150deg,#15252980,#0d1920a0);display:flex;flex-direction:column}.detail-top{display:flex;justify-content:space-between;color:#7c928f;font:8px var(--sans);letter-spacing:1.5px}.detail-top span:last-child{color:var(--gold);letter-spacing:1px}.detail-symbol-row{display:flex;align-items:center;justify-content:space-between;margin-top:17px}.detail-symbol-row>span:first-child{font-family:Georgia,"Segoe UI Symbol",serif;font-size:47px;line-height:1.2;color:var(--mint)}.element-badge{font-size:9px;letter-spacing:1px;background:#527a6530;border:1px solid #8baf8c35;padding:3px 9px;border-radius:3px;color:var(--mint)}.detail-en{font-size:10px;letter-spacing:4px;color:var(--gold);margin:22px 0 3px}.detail-panel h2{font:38px/1.5 var(--serif);letter-spacing:7px;margin:0}.detail-dates{font:11px var(--sans);color:#8d9fa5;letter-spacing:2px;margin:7px 0 20px}.detail-quote{font:15px/1.8 var(--serif);color:#cacaaf;margin:0 0 11px}.detail-description{color:#94a5a9;font-size:11px;line-height:2;margin:0;min-height:66px;letter-spacing:.3px}.profile-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;border-top:1px solid var(--line);padding-top:18px;margin:21px 0 17px}.profile-facts dt{font-size:9px;color:#6d848c;letter-spacing:1px;margin-bottom:4px}.profile-facts dd{font-size:11px;color:#bfcbc8;margin:0}.tags{display:flex;gap:8px;flex-wrap:wrap}.tags span{font-size:9px;padding:1px 9px;border:1px solid #a4b4a626;border-radius:2px;color:#98afa6}.story-button{margin-top:23px;padding:10px 13px;border:1px solid #98ba9a40;border-radius:3px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1px;color:var(--mint);background:#91bea706}.story-button:hover{background:#91bea715}.story-button span{font-size:15px;line-height:1.2}.profile-navigation{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:9px;margin-top:auto;gap:8px}.story-button+.profile-navigation{margin-top:21px}.profile-navigation span{font-size:9px;letter-spacing:.5px;color:#6e858d}.profile-navigation button{font-size:18px;color:#9caeaa;width:34px;height:34px;line-height:1}.profile-navigation button:hover{color:var(--mint);background:#a0cbbb10}.atlas-footnote{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 23px;color:#70858b;font-size:10px;letter-spacing:1px}.atlas-footnote a{color:var(--gold);font-size:10px}.atlas-footnote a span{margin-left:14px}.collection{padding-top:70px;scroll-margin-top:20px}.collection-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px}.collection-heading .eyebrow{margin-bottom:9px}.collection h2{font:27px/1.5 var(--serif);letter-spacing:3px;margin:0}.collection h2 span{font:10px var(--sans);color:#667b83;letter-spacing:1px;margin-left:14px}.filters{display:flex;gap:5px}.filters button{font-size:11px;color:#84969d;padding:6px 16px;border:1px solid transparent;border-radius:3px}.filters button.active{color:var(--gold);border-color:#99886566;background:#b5a57d0a}.filters button:hover{color:var(--text)}.sign-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.sign-card{display:block;text-align:left;padding:19px 20px 18px;position:relative;border:1px solid var(--line);border-radius:4px;background:linear-gradient(120deg,#0e1b22bb,#0c151e80);min-height:207px;overflow:hidden}.sign-card:hover{border-color:#a3c6b66b;background:#13242bb0}.sign-card[aria-pressed=true]{border-color:#8aac945e}.sign-card .card-top{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.5px;color:#6e858c;align-items:center}.card-top .card-element{font-size:9px;letter-spacing:1px;color:var(--element-color,#92b2a6)}.sign-drawing{height:83px;width:140px;margin:3px auto 2px;display:block;color:var(--element-color,#92b2a6)}.sign-drawing polyline{fill:none;stroke:currentColor;stroke-width:1;opacity:.6}.sign-drawing circle{fill:#c0d4d6}.card-bottom{display:flex;justify-content:space-between;align-items:flex-end}.card-bottom h3{font:20px var(--serif);letter-spacing:2px;margin:0 0 5px}.card-bottom small{color:#6f8b94;letter-spacing:2px;font-size:8px}.card-bottom>span{font:9px var(--sans);color:#85969c;letter-spacing:1px}.card-arrow{position:absolute;right:19px;top:80px;font-size:20px;color:var(--mint);opacity:0;transition:opacity .2s}.sign-card:hover .card-arrow{opacity:1}.about{display:grid;grid-template-columns:1fr 2fr;gap:80px;margin-top:85px;padding-top:55px;padding-bottom:58px;border-top:1px solid var(--line)}.about-title h2{font:31px/1.8 var(--serif);letter-spacing:4px;margin:0}.about-title>span{display:block;font:67px Georgia;color:#435d5a;margin-top:18px}.about-content h3{font:17px var(--serif);letter-spacing:2px;margin:2px 0 17px}.about-content p{font-size:11px;color:#83979e;line-height:2.1;margin:0}.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:26px}.about-columns span{display:block;font-size:10px;color:var(--gold);margin-bottom:9px;letter-spacing:1px}.about-content p.about-note{font-size:10px;margin-top:23px;color:#617d87}.source-links{display:flex;gap:26px;margin-top:12px;font-size:9px;color:#8da69f}.source-links a:hover{color:var(--mint)}.site-footer{display:flex;justify-content:space-between;align-items:center;height:98px;border-top:1px solid var(--line);color:#617781;font-size:9px;letter-spacing:1px}.footer-brand{font:17px var(--serif);letter-spacing:2px;color:#afbaaa}.footer-brand span{font:7px var(--sans);letter-spacing:2px;margin-left:13px;color:#627a81}.site-footer p{font-size:10px;letter-spacing:2px}.site-footer b{font-weight:400}.skip-link{position:absolute;top:-60px;left:20px;background:#1b3939;color:white;padding:10px;z-index:10}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{width:min(490px,calc(100% - 32px));max-height:calc(100dvh - 40px);color:var(--text);background:#101d24;border:1px solid #61756666;border-radius:8px;padding:28px 35px;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#02070cd9;backdrop-filter:blur(7px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.dialog-top .eyebrow{font-size:8px;letter-spacing:1.5px;margin:0}.close-dialog{font-size:24px;line-height:1;width:30px;height:30px;color:#91a9ac}.close-dialog:hover{color:white;background:#8ebaa211}.dialog-star{text-align:center;font-size:60px;color:var(--gold);margin:16px 0 3px}dialog h2{font:28px/1.5 var(--serif);font-weight:400;letter-spacing:2px;margin:10px 0 12px}.dialog-copy{color:#96a7ac;font-size:12px;line-height:1.8}.birthday-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0 18px}.birthday-fields label{display:flex;flex-direction:column;gap:8px;font-size:10px;color:#98aca9}.birthday-fields select{width:100%;padding:10px;background:#0b171e;color:#d3ddd5;border:1px solid #58756866;border-radius:4px;font-size:13px}.submit-button{width:100%;background:#aec6ad;color:#11251e;padding:11px 18px;border-radius:4px;font-size:12px;letter-spacing:1px;display:flex;justify-content:space-between}.submit-button:hover{background:#c7dabd}.dialog-note{font-size:10px;line-height:1.9;color:#6f858d;margin:22px 0 0}.story-art{height:130px;margin:12px 0 -10px}.story-art svg{display:block;width:200px;height:130px;margin:auto;color:var(--mint)}.story-art polyline{stroke:currentColor;stroke-width:1;fill:none}.story-art circle{fill:#e0eddf}.story-text{font-size:13px;color:#a7b6b7;line-height:2.1}.story-reflection{border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.story-reflection span{color:var(--gold);font-size:10px;letter-spacing:2px}.story-reflection p{font:16px/1.8 var(--serif);color:#d1d7c5;margin:10px 0 0}#birthday-result{color:var(--mint);font-size:12px;min-height:0;margin:15px 0 0}#birthday-result:empty{display:none}.noscript{border:1px solid var(--line);padding:24px;color:var(--gold)}[hidden]{display:none!important}
@media(min-width:1500px){.detail-panel{padding:32px}.atlas-layout{grid-template-columns:minmax(0,1fr) 350px}.detail-description{font-size:12px}.detail-symbol-row{margin-top:29px}.detail-en{margin-top:26px}.detail-dates{margin-bottom:24px}.profile-facts{gap:22px;margin-top:25px}.story-button{margin-top:29px}.chart-label .label-name{font-size:14px}.chart-label small{font-size:9px}.chart-center p{font-size:23px}}
@media(max-width:1150px){.wrap{width:calc(100% - 56px)}.atlas-layout{grid-template-columns:minmax(0,1fr) 290px}.detail-panel{padding:23px}.intro-note{display:none}.chart-label .label-name{font-size:11px}.chart-center p{font-size:15px;letter-spacing:2px}.chart-center small{font-size:8px;letter-spacing:0}.chart-center>span{letter-spacing:3px;font-size:7px}.orbit-mark{transform:scale(.8);margin-bottom:5px}.chart-meta span:last-child{display:none}.sign-card{padding:16px}.card-bottom{gap:8px}.card-bottom>span{font-size:8px}.about{gap:50px}.sign-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1050px){.site-header{height:88px}.site-header nav{gap:24px}.brand{font-size:20px}.brand-star{font-size:40px}.birthday-button{font-size:10px;padding:7px 12px}.birthday-button span:last-child{display:none}.intro{padding-top:35px;padding-bottom:30px}h1{font-size:31px;letter-spacing:2px}.atlas-layout{grid-template-columns:1fr}.chart{max-width:790px}.chart-shell{padding:17px 0}.chart-meta{top:16px}.chart-center p{font-size:23px;letter-spacing:4px}.chart-center small{font-size:11px;margin-top:19px}.chart-center>span{font-size:9px;letter-spacing:5px}.orbit-mark{transform:none;margin-bottom:18px}.chart-label .label-name{font-size:14px}.chart-label small{font-size:9px}.detail-panel{border-left:0;border-top:1px solid var(--line);padding:24px 30px;display:grid;grid-template-columns:1fr 1fr;column-gap:26px}.detail-top{grid-column:1/-1}.detail-symbol-row{grid-column:1;grid-row:2;justify-content:start;gap:22px;margin-top:20px}#profile-content{display:contents}.detail-en{grid-column:1;grid-row:3;margin:17px 0 0}.detail-panel h2{grid-column:1;grid-row:4}.detail-dates{grid-column:1;grid-row:5;margin-bottom:0}.detail-quote{grid-column:2;grid-row:2;align-self:end;margin-bottom:0}.detail-description{grid-column:2;grid-row:3/6;font-size:12px;padding-top:13px;min-height:0}.profile-facts{grid-column:1/-1;grid-template-columns:repeat(4,1fr);margin-top:22px}.tags{grid-column:1;align-self:center}.story-button{grid-column:2;margin-top:0}.profile-navigation{grid-column:1/-1}.story-button+.profile-navigation{margin-top:17px}.profile-navigation span{font-size:10px}.about{grid-template-columns:1fr 2fr;gap:30px}.about-title h2{font-size:27px}.about-columns{grid-template-columns:1fr;gap:18px}.collection-heading{align-items:start;gap:20px}.filters{gap:0}.filters button{padding:6px 10px}.collection h2{font-size:24px}.collection h2 span{display:none}.site-footer p{display:none}}
@media(max-width:560px){.wrap{width:calc(100% - 32px)}.site-header{height:80px;flex-wrap:wrap;position:relative;padding-bottom:0}.site-header nav{display:none}.brand{font-size:21px;gap:8px}.brand-star{font-size:35px}.brand small{font-size:6px;letter-spacing:1.8px}.birthday-button{font-size:10px;padding:6px 10px}.birthday-button span:first-child{font-size:14px;margin-right:3px}.intro{padding-top:32px;padding-bottom:27px}.intro .eyebrow{font-size:7px;letter-spacing:2px;margin-bottom:14px}h1{font-size:29px;line-height:1.6;letter-spacing:3px}h1 span{display:block}.intro-copy{font-size:10px;line-height:2;letter-spacing:.3px;max-width:260px}.section-bar{height:48px;padding:0 13px}.section-caption{font-size:10px;gap:7px}.bar-en{font-size:7px;letter-spacing:1px}.map-hint{display:none}.map-actions button{font-size:8px;padding:2px 5px}.map-actions button span{font-size:14px;margin-right:3px}.chart-shell{padding:43px 0 40px}.chart{aspect-ratio:880/740}.chart>svg{position:absolute;height:auto;top:4.05%}.chart-label{min-height:32px;width:19%;padding:1px;line-height:1.3}.chart-label .label-name{font-size:10px;letter-spacing:.5px}.chart-label small{font-size:6px;letter-spacing:.4px;margin-top:2px}.chart-label:before{inset:-24px -1px 0}.chart-center{width:36%}.chart-center p{font-size:13px;letter-spacing:1px;margin-bottom:3px}.chart-center>span{font-size:6px;letter-spacing:2px}.chart-center small{display:none}.orbit-mark{width:32px;height:32px;font-size:15px;margin-bottom:13px}.orbit-mark:before{width:43px;height:43px}.orbit-mark:after{width:56px}.chart-meta{left:14px;right:14px;font-size:7px;top:16px}.chart-meta span:last-child{display:block;font-size:6px;letter-spacing:1px}.chart-footer{left:14px;right:14px;bottom:17px;font-size:8px;letter-spacing:0}.detail-panel{display:flex;padding:24px;position:relative}.detail-top{font-size:8px}.detail-symbol-row{position:absolute;right:24px;top:60px;display:flex;flex-direction:column;gap:8px;margin:0}.detail-symbol-row>span:first-child{font-size:46px}.element-badge{font-size:8px;padding:2px 7px}.detail-en{margin-top:25px}.detail-panel h2{font-size:35px;letter-spacing:5px}.detail-dates{font-size:10px;margin-top:7px;margin-bottom:20px}.detail-quote{font-size:15px;align-self:unset;margin-bottom:9px}.detail-description{padding-top:0;font-size:12px;min-height:0}.profile-facts{grid-template-columns:repeat(2,1fr);gap:15px;margin:21px 0 20px}.profile-facts dt{font-size:9px}.profile-facts dd{font-size:12px}.tags{align-self:unset}.tags span{font-size:10px}.story-button{margin-top:22px;font-size:12px}.atlas-footnote{padding:12px 14px;gap:8px;font-size:8px;letter-spacing:0}.atlas-footnote a{font-size:8px}.atlas-footnote a span{margin-left:5px}.collection{padding-top:47px}.collection-heading{display:block;margin-bottom:18px}.collection h2{font-size:24px}.collection .eyebrow{font-size:7px;letter-spacing:2px}.filters{margin-top:20px;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:12px}.filters button{font-size:11px;padding:5px 13px}.sign-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sign-card{padding:13px 12px;min-height:204px}.sign-card .card-top{font-size:7px}.card-top .card-element{font-size:8px}.sign-drawing{height:76px;width:100%;margin-top:8px}.card-bottom{align-items:start;flex-direction:column;gap:8px}.card-bottom h3{font-size:18px;margin-bottom:3px}.card-bottom small{font-size:7px;letter-spacing:1.4px}.card-bottom>span{font-size:8px}.card-arrow{display:none}.about{grid-template-columns:1fr;gap:24px;margin-top:47px;padding-top:35px;padding-bottom:35px}.about-title{position:relative}.about-title .eyebrow{font-size:7px}.about-title h2{font-size:27px;line-height:1.6}.about-title>span{position:absolute;right:15px;top:8px;font-size:74px;margin:0}.about-content h3{font-size:16px}.about-content p{font-size:11px}.about-columns{grid-template-columns:1fr 1fr;gap:18px}.about-columns span{font-size:9px;letter-spacing:0}.about-content p.about-note{font-size:9px}.source-links{gap:20px;font-size:8px}.site-footer{height:90px;gap:20px;align-items:center}.footer-brand{font-size:15px}.footer-brand span{display:block;margin:8px 0 0 24px;font-size:6px}.site-footer>span{font-size:7px;letter-spacing:.5px}dialog{padding:24px}dialog h2{font-size:25px;letter-spacing:1px}.dialog-top .eyebrow{font-size:7px}.story-text{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Pairing mode: two selected constellations share one glowing connection. */
#toggle-pairing{border-color:#bfa77b70;color:var(--gold);background:#bca4730c;padding-inline:12px}#toggle-pairing:hover,#toggle-pairing[aria-pressed=true]{background:#bca4731c;border-color:#bfa77bc0}.pair-toolbar{display:flex;align-items:center;gap:22px;padding:18px 24px;border-bottom:1px solid var(--line);background:linear-gradient(100deg,#10272388,#20231c44);flex-wrap:wrap}.pair-instruction{margin-right:auto}.pair-instruction .eyebrow{display:block;margin-bottom:6px;font-size:8px;letter-spacing:2px}.pair-instruction p{margin:0;color:#9db0af;font-size:11px}.pair-slots{display:flex;align-items:center;gap:16px}.pair-slot{display:flex;align-items:center;gap:14px;padding:9px 15px;border:1px solid #66887942;border-radius:4px;min-width:154px;text-align:left;background:#0a182099}.pair-slot[aria-pressed=true]{border-color:var(--mint);background:#26433a55}.pair-slot:last-child[aria-pressed=true]{border-color:#dfb780;background:#58493033}.slot-index{font:10px Georgia;color:var(--mint)}.pair-slot:last-child .slot-index{color:#dfb780}.pair-slot small{display:block;font-size:8px;color:#758e93;letter-spacing:1px}.pair-slot b{font:15px/1.65 var(--serif);font-weight:400;letter-spacing:1px}.pair-slot>span:last-child{margin-left:auto;color:#758e93}.pair-join{color:#b8b696;font-size:19px}.reset-pairing{font-size:10px;color:#9aacae;white-space:nowrap;padding:10px 0}.reset-pairing span{margin-left:8px;font-size:14px}.reset-pairing:hover{color:var(--gold)}#pair-result-link{font-size:10px;color:var(--gold);border-bottom:1px solid #caba9640;white-space:nowrap}.pairing-mode .chart-center{display:none}.pair-center{display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;width:42%;color:var(--gold)}.pairing-mode .pair-center{display:block}.pair-complete .pair-center{display:none}.pair-center>span{font:28px Georgia;letter-spacing:8px;color:#a9c4b6}.pair-center p{font:20px/1.6 var(--serif);letter-spacing:4px;margin:18px 0 12px}.pair-center small{font-size:10px;color:#8c9f9f;letter-spacing:1px}.pairing-mode .constellation.dimmed{opacity:.48}.constellation.pair-first{color:var(--mint)}.constellation.pair-second{color:#dfb780}.constellation.pair-second circle{fill:#ffe4b9}.pairing-mode .chart-label.pair-second{color:#dfb780}.pairing-mode .chart-label[aria-pressed=true] .label-name:before{display:none}.pairing-mode .chart-label.pair-second small{color:#bda680}.chart-label[data-pair-slot]:after{content:attr(data-pair-slot);position:absolute;top:0;right:5px;border-radius:50%;width:16px;height:16px;font:8px/16px var(--sans);background:#8aafa328;color:var(--mint);border:1px solid #97c4b366}.chart-label.pair-second:after{color:#dfb780;background:#bda17420;border-color:#dfb78066}.chart-label[data-pair-slot='1+2']:after{width:24px;border-radius:8px;right:0}.pair-line{fill:none;stroke:url(#pair-gradient);stroke-width:2;stroke-linecap:round;stroke-dasharray:1;animation:pair-connect .8s ease-out both}.pair-line-glow{fill:none;stroke:url(#pair-gradient);stroke-width:9;opacity:.16;filter:blur(4px)}.pair-endpoint{fill:none;stroke:var(--mint);stroke-width:1;opacity:.8}.pair-endpoint-1{stroke:#dfb780}.pair-panel{padding:27px 26px 20px;border-left:1px solid var(--line);background:linear-gradient(145deg,#17302b88,#1b222280);display:flex;flex-direction:column;min-width:0;scroll-margin-top:20px}.pair-panel h2{font:26px/1.5 var(--serif);letter-spacing:3px;margin:20px 0 12px}.pair-panel .detail-top{font-size:7px}.pair-symbols{display:flex;align-items:center;justify-content:center;gap:25px;padding:6px 0;color:var(--mint)}.pair-symbols>span{font:42px/1.2 Georgia,'Segoe UI Symbol',serif}.pair-symbols>span:last-child{color:#dfb780}.pair-symbols i{font:20px Georgia;color:#738a87}.pair-names{text-align:center;font:14px/1.6 var(--serif);letter-spacing:2px;color:#cad3c4;margin:8px 0 20px}.pair-score-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.pair-score-row b{font:48px/1 Georgia;color:#ddc698;font-weight:400}.pair-score-row>div>span{font-size:9px;letter-spacing:1px;color:#83958f;margin-left:5px}.pair-score-row strong{font-size:12px;font-weight:400;letter-spacing:1px;color:var(--gold);display:block}.pair-score-row small{display:block;font-size:8px;color:#7b9690;margin-top:5px;letter-spacing:1px}.pair-meter{height:3px;border-radius:3px;background:#72857925;overflow:hidden;margin:15px 0}.pair-meter span{display:block;height:100%;width:0;background:linear-gradient(90deg,#84b99f,#dabe8a);transition:width .6s}.pair-summary{font:13px/1.9 var(--serif);color:#c9cebc;margin:0 0 16px}.pair-reading{border-top:1px solid var(--line);padding-top:2px}.pair-reading section{margin-top:13px}.pair-reading h3{font:11px var(--sans);letter-spacing:1px;color:var(--gold);margin:0 0 7px}.pair-reading h3 span{margin-right:6px;color:#8db29e}.pair-reading p{font-size:10px;line-height:1.9;color:#9badaf;margin:0}.pair-disclaimer{margin:20px 0 0;padding-top:13px;border-top:1px solid var(--line);color:#84958c;font-size:9px;line-height:1.8}.empty-pair-art{display:flex;align-items:center;justify-content:center;margin:45px 0 30px;color:var(--mint);font-size:52px}.empty-pair-art span:last-child{color:#dfb780}.empty-pair-art i{height:1px;width:60px;margin:0 6px;background:linear-gradient(90deg,#a0cbbb,#dfb780);opacity:.6}#pair-empty h3{font:19px/1.5 var(--serif);letter-spacing:2px;color:var(--gold);margin:0 0 15px}#pair-empty p{color:#90a9ac;font-size:12px;line-height:2.1}#pair-empty ol{list-style:none;counter-reset:pair-step;padding:18px 0 8px;border-top:1px solid var(--line);margin:25px 0 0}#pair-empty li{counter-increment:pair-step;font-size:11px;color:#aabdb8;line-height:2.7}#pair-empty li:before{content:'0' counter(pair-step);color:#798d80;font:10px Georgia;letter-spacing:1px;margin-right:12px}#pair-empty>small{display:block;color:#819893;font-size:10px;margin:15px 0 28px}.pairing-mode .sign-card.pair-second{border-color:#dfb78077}.pairing-mode .sign-card.pair-first{border-color:#a0cbbb77}@keyframes pair-connect{from{stroke-dashoffset:1;opacity:.2}to{stroke-dashoffset:0;opacity:1}}
@media(max-width:1150px){.pair-toolbar{gap:16px}.pair-instruction{flex-basis:100%}.pair-slots{margin-right:auto}.pair-panel{padding:23px}.pair-score-row b{font-size:43px}.pair-score-row strong{font-size:11px}.map-actions{gap:12px}.map-hint{display:none}}
@media(max-width:1050px){.pair-panel{border-left:0;border-top:1px solid var(--line);padding:28px 30px}.pair-panel h2{margin-top:16px}.pair-reading{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:7px}.pair-reading p{font-size:12px}.pair-reading h3{font-size:12px}.pair-summary{font-size:15px}.pair-symbols{gap:45px}.pair-symbols>span{font-size:48px}.pair-names{font-size:17px}.pair-score-row{justify-content:center;gap:35px}.pair-meter{max-width:340px;margin:18px auto}.pair-summary{text-align:center}.pair-disclaimer{font-size:10px}.empty-pair-art{margin-top:20px}#pair-empty{text-align:center}#pair-empty ol{display:inline-block;text-align:left}.pair-line{stroke-width:2.4}.pair-instruction{flex-basis:100%}.pair-slots{gap:13px}.pair-slot{min-width:154px}}
@media(max-width:560px){.section-bar{padding-inline:11px}.section-caption{font-size:9px}.pairing-mode .bar-en{display:none}.map-actions{gap:6px}.map-actions button{font-size:8px}#toggle-pairing{padding-inline:7px}.section-bar .bar-en{display:none}.pair-toolbar{padding:15px 13px;gap:12px}.pair-instruction .eyebrow{font-size:7px}.pair-instruction p{font-size:10px}.pair-slots{width:100%;gap:9px;justify-content:space-between;order:2;margin:0}.pair-slot{min-width:0;flex:1;gap:8px;padding:7px 9px}.pair-slot b{font-size:14px}.pair-slot small{font-size:8px}.slot-index{font-size:9px}.pair-join{font-size:17px}.pair-instruction{flex-basis:calc(100% - 80px);margin:0}.reset-pairing{padding:0;font-size:9px;margin-left:auto}#pair-result-link{order:3;margin-left:auto;font-size:10px}.pair-center{width:43%}.pair-center>span{font-size:18px;letter-spacing:3px}.pair-center p{font-size:12px;letter-spacing:1px;margin:10px 0 6px}.pair-center small{font-size:8px;letter-spacing:0}.chart-label[data-pair-slot]:after{right:-1px;top:0;width:11px;height:11px;font-size:6px;line-height:10px}.chart-label[data-pair-slot='1+2']:after{width:19px;right:-7px}.pair-panel{padding:24px}.pair-panel h2{font-size:26px}.pair-symbols>span{font-size:40px}.pair-symbols{gap:34px}.pair-names{font-size:16px}.pair-score-row{justify-content:space-between;gap:10px}.pair-score-row b{font-size:50px}.pair-score-row strong{font-size:13px}.pair-score-row small{font-size:9px}.pair-summary{text-align:left;font-size:14px}.pair-reading{display:block;padding-top:0}.pair-reading section{margin-top:18px}.pair-reading p{font-size:12px}.pair-disclaimer{font-size:9px}.pairing-mode .chart-footer{font-size:7px}.pairing-mode .chart-footer b{margin-left:3px}.pair-line{stroke-width:3}.pair-endpoint{stroke-width:1.6}.pairing-mode .constellation.dimmed{opacity:.58}}
@media(prefers-reduced-motion:reduce){.pair-line{animation:none}.pair-meter span{transition:none}}
/* The line switch identifies its current target and shows an explicit state. */
#toggle-lines{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}#toggle-lines span{font-size:10px;margin:0}#toggle-lines .line-icon{font-size:16px}#toggle-lines .line-state{font-size:9px;line-height:1.5;min-width:19px;padding:1px 4px;border:1px solid #a0cbbb55;border-radius:3px;color:var(--mint);background:#a0cbbb14}#toggle-lines[aria-pressed=true]{border-color:#8aaf9b80;color:#c3d9ce;background:#8eafa510}#toggle-lines[aria-pressed=false]:not(:disabled){opacity:1;color:#96a7ac;border-color:#53646c}#toggle-lines[aria-pressed=false] .line-state{color:#9caaa9;border-color:#7e8e9133;background:#798c8f12}#toggle-lines:disabled{opacity:.55;cursor:not-allowed}.hide-pair-lines #pair-connection{visibility:hidden}@media(max-width:560px){#toggle-lines{gap:4px;padding:3px 6px}#toggle-lines span{font-size:8px}#toggle-lines .line-icon{font-size:12px}#toggle-lines .line-state{font-size:7px;min-width:15px;padding:1px 3px}}

/* Comfortable type sizes, with enough room for Chinese body copy. */
body { font-size: 16px; }
.site-header { min-height: 104px; height: auto; padding-block: 22px; gap: 24px; }
.brand { font-size: 28px; }
.brand small { font-size: 10px; letter-spacing: 2px; }
.site-header nav { gap: 32px; font-size: 16px; }
.site-header nav a { padding-block: 12px; }
.nav-active:after { bottom: 0; }
.birthday-button { font-size: 15px; padding: 10px 15px; white-space: nowrap; }
.eyebrow { font-size: 12px; letter-spacing: 2px; }
h1 { font-size: clamp(36px, 3.2vw, 50px); }
.intro-copy { font-size: 16px; line-height: 1.9; letter-spacing: .5px; }
.intro-note { font-size: 14px; gap: 16px; letter-spacing: 1px; }
.intro-note small { font-size: 11px; letter-spacing: 1px; }

.section-bar { height: auto; min-height: 68px; padding-block: 12px; gap: 16px; }
.section-caption { font-size: 15px; }
.bar-en { font-size: 11px; }
.map-hint { font-size: 13px; }
.map-actions { gap: 12px; }
.map-actions button { font-size: 14px; min-height: 40px; padding: 6px 12px; }
#toggle-pairing { padding-inline: 14px; }
#toggle-lines { gap: 7px; padding: 6px 12px; }
#toggle-lines span { font-size: 14px; }
#toggle-lines .line-icon { font-size: 18px; }
#toggle-lines .line-state { font-size: 12px; min-width: 23px; }
.atlas-layout { grid-template-columns: minmax(0, 1fr) 380px; }
.chart-label { min-height: 48px; }
.chart-label .label-name { font-size: 16px; letter-spacing: 1px; }
.chart-label small { font-size: 10px; letter-spacing: 1px; }
.chart-meta { font-size: 11px; letter-spacing: 1px; }
.chart-footer { font-size: 12px; letter-spacing: 0; }
.chart-center p { font-size: 24px; letter-spacing: 3px; }
.chart-center>span { font-size: 11px; letter-spacing: 3px; }
.chart-center small { font-size: 13px; letter-spacing: 0; }
.atlas-footnote, .atlas-footnote a { font-size: 13px; letter-spacing: 0; }

.detail-panel { padding: 28px; }
.detail-top, .pair-panel .detail-top { font-size: 11px; letter-spacing: 1px; }
.detail-symbol-row>span:first-child { font-size: 54px; }
.element-badge { font-size: 12px; padding: 4px 10px; }
.detail-en { font-size: 14px; letter-spacing: 3px; }
.detail-panel h2 { font-size: 44px; }
.detail-dates { font-size: 15px; letter-spacing: 1px; }
.detail-quote { font-size: 19px; line-height: 1.8; }
.detail-description { font-size: 16px; line-height: 1.9; min-height: 0; }
.profile-facts { gap: 18px; }
.profile-facts dt { font-size: 13px; letter-spacing: .5px; }
.profile-facts dd { font-size: 16px; }
.tags span { font-size: 13px; padding: 3px 10px; }
.story-button { font-size: 16px; padding: 12px 15px; min-height: 46px; }
.profile-navigation span { font-size: 13px; }
.profile-navigation button { font-size: 22px; width: 44px; height: 44px; }

.pair-toolbar { gap: 20px; padding: 20px 24px; }
.pair-instruction .eyebrow { font-size: 11px; }
.pair-instruction p { font-size: 14px; }
.pair-slot { min-width: 178px; padding: 10px 14px; }
.pair-slot b { font-size: 21px; }
.pair-slot small { font-size: 12px; }
.slot-index { font-size: 13px; }
.pair-join { font-size: 24px; }
.reset-pairing { font-size: 14px; }
#pair-result-link { font-size: 14px; }
.pair-center p { font-size: 24px; letter-spacing: 2px; }
.pair-center small { font-size: 14px; }
.pair-panel { padding: 28px; }
.pair-panel h2 { font-size: 32px; letter-spacing: 2px; }
.pair-symbols>span { font-size: 52px; }
.pair-names { font-size: 19px; letter-spacing: 1px; }
.pair-score-row b { font-size: 64px; }
.pair-score-row>div>span { font-size: 14px; }
.pair-score-row strong { font-size: 16px; }
.pair-score-row small { font-size: 12px; }
.pair-summary { font-size: 18px; line-height: 1.85; }
.pair-reading section { margin-top: 20px; }
.pair-reading h3 { font-size: 16px; line-height: 1.6; margin-bottom: 9px; }
.pair-reading p { font-size: 15px; line-height: 1.9; }
.pair-disclaimer { font-size: 12px; line-height: 1.9; }
#pair-empty h3 { font-size: 23px; }
#pair-empty p { font-size: 16px; }
#pair-empty li { font-size: 15px; line-height: 2.6; }
#pair-empty li:before { font-size: 12px; }
#pair-empty>small { font-size: 13px; line-height: 1.8; }
.chart-label[data-pair-slot]:after { font-size: 10px; width: 19px; height: 19px; line-height: 18px; right: 0; }
.chart-label[data-pair-slot='1+2']:after { width: 28px; right: -7px; }

.collection h2 { font-size: 32px; }
.collection h2 span { font-size: 13px; }
.filters button { font-size: 15px; padding: 8px 16px; }
.sign-card { min-height: 252px; padding: 22px; }
.sign-card .card-top { font-size: 12px; }
.card-top .card-element { font-size: 13px; }
.sign-drawing { height: 100px; }
.card-bottom { gap: 12px; flex-wrap: wrap; }
.card-bottom h3 { font-size: 25px; }
.card-bottom small { font-size: 11px; letter-spacing: 1px; }
.card-bottom>span { font-size: 13px; letter-spacing: .5px; white-space: nowrap; }
.about-title h2 { font-size: 36px; }
.about-content h3 { font-size: 23px; line-height: 1.6; }
.about-content p { font-size: 16px; line-height: 1.95; }
.about-columns span { font-size: 14px; line-height: 1.8; }
.about-content p.about-note { font-size: 13px; }
.source-links { font-size: 13px; flex-wrap: wrap; }
.site-footer { height: auto; min-height: 110px; padding-block: 24px; gap: 20px; font-size: 12px; }
.footer-brand { font-size: 22px; }
.footer-brand span { font-size: 10px; }
.site-footer p { font-size: 13px; letter-spacing: .5px; }

dialog { width: min(560px, calc(100% - 32px)); }
.dialog-top .eyebrow { font-size: 10px; letter-spacing: 1px; }
.close-dialog { width: 44px; height: 44px; flex-shrink: 0; font-size: 30px; }
dialog h2 { font-size: 32px; }
.dialog-copy { font-size: 16px; }
.birthday-fields label { font-size: 14px; }
.birthday-fields select { font-size: 16px; padding: 12px; }
.submit-button { font-size: 16px; min-height: 48px; }
.dialog-note { font-size: 13px; line-height: 1.8; }
.story-text { font-size: 16px; }
.story-reflection span { font-size: 13px; }
.story-reflection p { font-size: 20px; }
#birthday-result { font-size: 16px; }

@media (max-width: 1400px) {
  .intro-note { display: none; }
  .map-hint { display: none; }
  .pair-instruction { flex-basis: 100%; }
  .pair-slots { margin-right: auto; }
  .chart-meta span:last-child { display: none; }
}
@media (max-width: 1150px) {
  .atlas-layout { grid-template-columns: minmax(0, 1fr) 340px; }
  .detail-panel, .pair-panel { padding: 24px; }
  .chart-center p { font-size: 20px; letter-spacing: 1px; }
  .chart-center small { font-size: 12px; }
  .chart-label .label-name { font-size: 15px; }
  .chart-label small { font-size: 10px; letter-spacing: .5px; }
  .pair-panel h2 { font-size: 29px; }
}
@media (max-width: 1050px) {
  .atlas-layout { grid-template-columns: 1fr; }
  .chart-label .label-name { font-size: 18px; }
  .chart-label small { font-size: 11px; }
  .chart-center p { font-size: 28px; }
  .chart-center small { font-size: 14px; }
  .detail-panel, .pair-panel { padding: 28px 30px; }
  .detail-description { font-size: 16px; }
  .profile-facts { grid-template-columns: repeat(4, 1fr); }
  .detail-quote { font-size: 20px; }
  .detail-panel h2 { font-size: 44px; }
  .pair-panel h2 { font-size: 34px; }
  .pair-reading { gap: 24px; }
  .pair-reading p { font-size: 16px; }
  .pair-meter { max-width: 400px; }
  .site-header nav { font-size: 15px; gap: 24px; }
  .brand { font-size: 25px; }
  .birthday-button { font-size: 14px; padding-inline: 12px; }
  .about { grid-template-columns: 1fr 2fr; gap: 30px; }
  .about-columns { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .site-header nav { display: none; }
  .section-caption .bar-en { display: none; }
  .collection-heading { display: block; }
  .filters { margin-top: 20px; }
  .pair-reading { display: block; }
  .sign-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about { grid-template-columns: 1fr; }
  .about-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .site-header { min-height: 90px; padding-block: 16px; gap: 12px; }
  .brand { font-size: 24px; gap: 8px; }
  .brand small { font-size: 9px; letter-spacing: 1px; }
  .brand-star { font-size: 38px; }
  .birthday-button { font-size: 13px; padding: 8px 10px; }
  .intro .eyebrow, .collection .eyebrow, .about-title .eyebrow { font-size: 10px; letter-spacing: 1px; }
  h1 { font-size: 34px; line-height: 1.6; letter-spacing: 1px; }
  .intro-copy { font-size: 15px; max-width: none; line-height: 1.85; }
  .section-bar { padding: 12px; gap: 10px; flex-wrap: wrap; }
  .section-caption { font-size: 14px; flex-basis: 100%; }
  .map-actions { width: 100%; justify-content: space-between; gap: 10px; }
  .map-actions button { font-size: 13px; min-height: 42px; }
  #toggle-pairing { padding-inline: 12px; }
  #toggle-lines { padding-inline: 10px; gap: 6px; }
  #toggle-lines span { font-size: 13px; }
  #toggle-lines .line-icon { font-size: 16px; }
  #toggle-lines .line-state { font-size: 11px; min-width: 20px; }
  .chart-shell { padding-top: 38px; padding-bottom: 60px; }
  .chart-label { min-height: 36px; width: 19%; }
  .chart-label .label-name { font-size: 13px; letter-spacing: 0; }
  .chart-label small { font-size: 8px; letter-spacing: .1px; }
  .chart-meta { font-size: 10px; }
  .chart-meta span:last-child { display: none; }
  .chart-footer, .pairing-mode .chart-footer { font-size: 10px; flex-wrap: wrap; gap: 8px; line-height: 1.5; bottom: 14px; }
  .chart-footer>span:last-child { flex-basis: 100%; }
  .chart-center p { font-size: 15px; letter-spacing: .5px; }
  .chart-center>span { font-size: 9px; letter-spacing: 1px; }
  .chart-center small { display: none; }
  .chart-label[data-pair-slot]:after { font-size: 8px; width: 14px; height: 14px; line-height: 13px; right: -8px; top: -4px; }
  .chart-label[data-pair-slot='1+2']:after { width: 23px; right: -10px; top: -7px; }
  .detail-panel, .pair-panel { padding: 24px; }
  .detail-top, .pair-panel .detail-top { font-size: 10px; letter-spacing: .5px; }
  .detail-symbol-row { right: 24px; top: 61px; }
  .detail-symbol-row>span:first-child { font-size: 48px; }
  .detail-en { font-size: 13px; }
  .detail-panel h2 { font-size: 40px; letter-spacing: 4px; }
  .detail-dates { font-size: 14px; }
  .detail-quote { font-size: 19px; }
  .detail-description { font-size: 16px; line-height: 1.9; }
  .profile-facts { grid-template-columns: repeat(2, 1fr); }
  .profile-facts dt { font-size: 13px; }
  .profile-facts dd { font-size: 16px; }
  .tags span { font-size: 13px; }
  .story-button { font-size: 16px; }
  .profile-navigation span { font-size: 12px; }
  .atlas-footnote { flex-wrap: wrap; gap: 10px; padding: 16px; }
  .atlas-footnote, .atlas-footnote a { font-size: 12px; }
  .atlas-footnote a { margin-left: auto; }
  .pair-toolbar { padding: 16px 13px; gap: 14px; }
  .pair-instruction { flex-basis: 100%; }
  .pair-instruction .eyebrow { font-size: 10px; letter-spacing: 1px; }
  .pair-instruction p { font-size: 14px; line-height: 1.75; }
  .pair-slots { order: 2; width: 100%; gap: 8px; }
  .pair-slot { min-width: 0; padding: 9px; gap: 7px; }
  .pair-slot b { font-size: 19px; }
  .pair-slot small { font-size: 12px; }
  .slot-index { font-size: 11px; }
  .pair-join { font-size: 20px; }
  .reset-pairing { order: 3; font-size: 13px; margin-left: 0; padding: 5px 0; }
  #pair-result-link { order: 3; font-size: 13px; margin-left: auto; }
  .pair-center p { font-size: 15px; letter-spacing: 0; }
  .pair-center small { font-size: 11px; }
  .pair-panel h2 { font-size: 30px; }
  .pair-symbols>span { font-size: 48px; }
  .pair-names { font-size: 20px; letter-spacing: .5px; }
  .pair-score-row b { font-size: 62px; }
  .pair-score-row strong { font-size: 16px; }
  .pair-score-row small { font-size: 12px; }
  .pair-summary { font-size: 18px; }
  .pair-reading h3 { font-size: 17px; }
  .pair-reading p { font-size: 16px; }
  .pair-disclaimer { font-size: 12px; }
  .collection h2 { font-size: 30px; }
  .filters button { font-size: 15px; padding: 7px 12px; }
  .sign-card { padding: 15px 12px; min-height: 244px; }
  .sign-card .card-top { font-size: 11px; }
  .card-top .card-element { font-size: 12px; }
  .sign-drawing { height: 85px; margin-block: 10px; }
  .card-bottom { gap: 9px; }
  .card-bottom h3 { font-size: 24px; }
  .card-bottom small { font-size: 10px; }
  .card-bottom>span { font-size: 12px; letter-spacing: 0; }
  .about-title h2 { font-size: 33px; }
  .about-content h3 { font-size: 21px; }
  .about-columns { grid-template-columns: 1fr; gap: 24px; }
  .about-columns span { font-size: 14px; }
  .about-content p { font-size: 16px; }
  .about-content p.about-note { font-size: 13px; }
  .source-links { font-size: 12px; gap: 16px; }
  .site-footer { gap: 18px; flex-wrap: wrap; min-height: 112px; }
  .footer-brand { font-size: 21px; }
  .footer-brand span { font-size: 9px; }
  .site-footer>span { font-size: 10px; }
  dialog { padding: 24px; }
  dialog h2 { font-size: 29px; letter-spacing: .5px; }
  .dialog-top .eyebrow { font-size: 10px; }
  .story-text { font-size: 16px; }
}
@media (max-width: 360px) {
  .brand { font-size: 22px; }
  .brand-star { font-size: 30px; }
  .brand small { font-size: 8px; }
  .birthday-button { font-size: 12px; padding-inline: 7px; }
  .birthday-button span:first-child { display: none; }
  .chart-label .label-name { font-size: 12px; }
  .chart-label small { font-size: 7px; }
  .chart-center p, .pair-center p { font-size: 13px; }
  .slot-index { display: none; }
  .pair-panel, .detail-panel { padding-inline: 20px; }
  .pair-panel h2 { font-size: 28px; }
  .pair-score-row strong { font-size: 14px; }
  .filters button { padding-inline: 10px; }
}
