:root{--paper:#f8f7f1;--ink:#233d32;--muted:#7c857a;--green:#294d3c;--lime:#e4ebba;--line:#dfe3d7;--card:#fffef9;--red:#a94c3c;--serif:Georgia,'Songti SC','SimSun',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft YaHei',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9cb98b;outline-offset:4px}.site-header{height:104px;max-width:1360px;margin:auto;padding:0 60px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{font-family:Georgia,serif;font-weight:700;letter-spacing:-2px;font-size:37px;display:flex;align-items:baseline;gap:0}.brand-dot{color:#9ba96b}.brand em{font:12px var(--sans);letter-spacing:3px;margin-left:18px;border-left:1px solid #b6bfae;padding-left:18px;white-space:nowrap}.site-header nav{display:flex;gap:34px;color:#6d786b;font-size:14px}.site-header nav a{padding:10px 0;border-bottom:1px solid transparent}.site-header nav a[aria-current]{color:var(--ink);border-color:var(--green)}.account-button{background:transparent;border:1px solid #bec9b8;padding:11px 20px;border-radius:30px;color:var(--green);font-size:13px;white-space:nowrap}.account-button span{margin-left:20px}#inbox-count{background:var(--green);color:white;font-size:10px;padding:2px 5px;border-radius:10px;margin-left:5px}main{min-height:calc(100vh - 190px)}.site-footer{max-width:1240px;margin:0 auto;padding:30px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#8a9285;letter-spacing:1px}.eyebrow{font-size:10px;letter-spacing:3px;color:#8d9a7c;font-weight:600}.landing{max-width:1240px;margin:0 auto;padding:54px 0 70px;display:grid;grid-template-columns:1.05fr 1fr;gap:75px;align-items:center}.hero-copy h1{font-family:var(--serif);font-size:57px;line-height:1.42;font-weight:500;letter-spacing:1px;margin:22px 0}.hero-copy h1 span{color:#829566}.hero-copy .lead{font-size:15px;line-height:1.9;color:#7a8575;margin:0 0 29px}.birth-box{max-width:460px;background:var(--card);padding:24px;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 30px #263d3205}.birth-box label{font-size:12px;color:#6b7866}.date-input-row{display:flex;gap:10px}.birth-box input[type=date]{margin-top:9px;min-height:49px}.birth-box .primary{margin-top:14px}.check-line{display:flex!important;align-items:flex-start;gap:8px;line-height:1.6;font-size:11px!important;margin:12px 0;color:#87917e!important}.check-line input{width:15px!important;min-height:15px!important;flex:none;margin:2px 0!important;accent-color:var(--green)}.fine-print{font-size:11px;line-height:1.7;color:#929a89}.birth-box details{font-size:11px;color:#8a947f;line-height:1.7;margin-top:12px}.birth-box details summary{cursor:pointer}.primary{border:0;background:var(--green);color:#fff;border-radius:9px;padding:15px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;font-size:14px}.primary:hover{background:#1b3d2c}.secondary{border:1px solid #c8d2bf;background:transparent;color:var(--green);border-radius:9px;padding:12px 18px}.secondary:hover{background:#edf0e5}.text-button{border:0;background:transparent;color:var(--green);font-size:13px;padding:8px 0;text-decoration:underline;text-underline-offset:4px}.hero-art{height:535px;position:relative;background:#eef0e5;border-radius:180px 180px 24px 24px;overflow:hidden;display:flex;align-items:center;justify-content:center}.hero-art:before,.hero-art:after{content:'';position:absolute;border:1px solid #d8dfcb;border-radius:50%;width:420px;height:420px}.hero-art:after{width:290px;height:290px}.orbit{position:absolute;width:100%;height:100%;z-index:2}.orbit span{position:absolute;font:21px var(--serif);background:var(--paper);border:1px solid #d8e1ca;border-radius:50%;width:52px;height:52px;display:grid;place-items:center;box-shadow:0 5px 20px #1d3e2510}.orbit span:nth-child(1){left:46%;top:12%;color:#7b9667}.orbit span:nth-child(2){right:8%;top:37%;color:#b1785c}.orbit span:nth-child(3){right:23%;bottom:13%;color:#b59a67}.orbit span:nth-child(4){left:22%;bottom:13%;color:#898d7a}.orbit span:nth-child(5){left:6%;top:37%;color:#71918c}.central-symbol{width:185px;height:230px;background:#f9faf0;border-radius:95px 95px 12px 12px;position:relative;z-index:3;text-align:center;padding-top:32px;box-shadow:0 14px 55px #1933220e;transform:rotate(-5deg)}.central-symbol .symbol{font:85px var(--serif);color:#4c6b49}.central-symbol small{display:block;letter-spacing:5px;color:#879775;font-size:10px;margin-top:14px}.art-note{position:absolute;bottom:32px;font:11px var(--sans);letter-spacing:2px;color:#829273}.hero-process{display:flex;gap:13px;align-items:center;color:#8c9683;font-size:10px;margin-top:24px}.hero-process b{font-size:9px;font-weight:400;color:#afba9f}.page-wrap{max-width:1120px;margin:0 auto;padding:40px 0 65px}.page-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:30px}.page-heading h1{font:38px var(--serif);letter-spacing:1px;font-weight:500;margin:12px 0}.page-heading p{color:var(--muted);font-size:13px;line-height:1.8;margin:0}.pill{display:inline-flex;border-radius:25px;padding:7px 12px;font-size:11px;background:#ebefe2;border:1px solid #dce3cd;align-items:center;gap:5px}.result-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:30px}.reading-card{background:#e9eddf;border:1px solid #dbe2cf;padding:35px;border-radius:18px;position:relative;overflow:hidden}.reading-card .day-master{font:112px var(--serif);margin:20px 0 0;line-height:1.2;letter-spacing:8px}.reading-card .element-line{font-size:17px;letter-spacing:5px;color:#859473;margin:6px 0 20px}.reading-card .circle-mark{position:absolute;width:210px;height:210px;border:1px solid #d3ddc3;border-radius:50%;right:-70px;top:20px}.reading-card p{color:#78866b;line-height:1.8;font-size:12px}.surface{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px}.surface h2{font:25px var(--serif);font-weight:500;margin:4px 0 18px}.surface h3{font-size:14px;font-weight:500}.direction{padding:17px 0;border-bottom:1px solid var(--line)}.direction:last-of-type{border-bottom:0}.direction strong{display:block;font-size:14px;font-weight:500}.direction p{font-size:12px;line-height:1.8;color:var(--muted);margin:7px 0 0}.actions{display:flex;gap:12px;margin-top:22px}.actions .primary{width:auto}.actions>*{flex:1}.muted{color:var(--muted);font-size:13px;line-height:1.8}.notice{background:#f0f2e8;border-left:2px solid #a8b985;color:#7b896a;padding:12px 16px;font-size:12px;line-height:1.8;margin:18px 0}.error{color:var(--red);font-size:12px;line-height:1.7}.error:empty{display:none}input,select,textarea{width:100%;background:#fcfcf8;border:1px solid #d7dfce;color:var(--ink);border-radius:8px;min-height:44px;padding:10px 12px;outline:none}textarea{resize:vertical;min-height:85px}input::placeholder,textarea::placeholder{color:#a5ac9d}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field label,.field-label{display:block;color:#6d7b62;font-size:12px;margin-bottom:8px}.field small{display:block;margin-top:6px;font-size:10px;line-height:1.6;color:#96a087}.field-row{display:flex;gap:8px}.field-row input,.field-row select:first-child{flex:1;min-width:0}.field-row .scope{width:116px;flex:none;font-size:11px;color:#82916f}.full-width{grid-column:1/-1}.form-section{margin-bottom:25px}.form-section h2{font-size:20px;margin-bottom:6px}.section-number{font:11px Georgia;color:#9cac85;display:inline-block;margin-right:9px}.chip-options{display:flex;flex-wrap:wrap;gap:8px}.chip-option{position:relative;cursor:pointer}.chip-option input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.chip-option span{display:block;border:1px solid #dce3d1;border-radius:25px;padding:9px 13px;color:#829271;font-size:12px;background:#fafbf6}.chip-option input:checked+span{background:#e7eddc;color:#345834;border-color:#9ab080}.chip-option input:focus-visible+span{outline:2px solid #74935d;outline-offset:2px}.profile-layout{display:grid;grid-template-columns:1fr 280px;gap:28px}.profile-side{position:sticky;top:25px;align-self:start}.profile-side p{font-size:12px;line-height:1.9;color:#859078}.profile-side h3{font:22px var(--serif);font-weight:400;margin:4px 0 15px}.profile-side ol{padding-left:18px;font-size:12px;color:#7b8c6c;line-height:2.2}.profile-side .secondary{width:100%;margin-top:12px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#9caf7d;margin-right:6px}.filter-bar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;padding:20px;margin-bottom:24px;background:#f0f2e8;border-radius:12px;border:1px solid #dfe5d6}.filter-bar label{font-size:11px;color:#7e8c71}.filter-bar input,.filter-bar select{width:150px;display:block;margin-top:7px;font-size:12px;min-height:39px}.filter-bar button{min-height:39px;padding:10px 20px;font-size:12px}.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.person-card{background:var(--card);border:1px solid var(--line);border-radius:15px;overflow:hidden;display:flex;flex-direction:column}.person-top{padding:25px 23px;background:#ebefe2;display:flex;justify-content:space-between;align-items:center}.person-stem{font:49px var(--serif);color:#68845a}.person-top .pill{background:#f7f9ef}.person-body{padding:22px;flex:1;display:flex;flex-direction:column}.person-body h2{font:23px var(--serif);margin:0 0 10px;font-weight:400}.person-body .intro{font-size:12px;color:#829075;line-height:1.8;min-height:42px}.tags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.tags span{font-size:10px;background:#f0f3e9;color:#7d906c;border-radius:4px;padding:5px 8px}.person-body .secondary{width:100%;margin-top:auto}.empty-state{text-align:center;padding:70px 25px;border:1px dashed #ccd7bf;background:#f2f4eb;border-radius:16px}.empty-state .empty-symbol{font:60px var(--serif);color:#a1b189}.empty-state h2{font:24px var(--serif);font-weight:400;margin:15px 0}.empty-state p{font-size:12px;color:#89957b;line-height:1.9;max-width:450px;margin:0 auto 18px}.empty-state .secondary{display:inline-block}.connection-list{display:grid;gap:15px}.connection-item{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px;display:flex;justify-content:space-between;gap:20px;align-items:center}.connection-item h3{font:21px var(--serif);margin:0 0 7px;font-weight:400}.connection-item p{font-size:12px;line-height:1.7;color:var(--muted);margin:5px 0}.connection-actions{display:flex;gap:8px}.connection-actions button{font-size:12px;padding:10px 15px}.connection-status{font-size:11px;color:#8a997b}.poster-layout{display:grid;grid-template-columns:1fr 340px;gap:35px;align-items:start}.poster-stage{background:#e8eade;border:1px solid #dce1d1;border-radius:18px;padding:28px;display:flex;justify-content:center}.poster-stage canvas{display:block;width:100%;max-width:390px;height:auto;box-shadow:0 15px 38px #1e31202b;border-radius:2px}.style-options{display:grid;gap:10px;margin:20px 0}.style-choice{border:1px solid #d7dfcc;background:transparent;border-radius:9px;padding:13px 15px;text-align:left;color:#687e59;display:flex;gap:12px;align-items:center}.style-choice.active{border-color:#6d8b55;background:#eef2e4}.swatch{width:28px;height:33px;border-radius:3px;display:block;flex:none}.style-choice small{font-size:10px;color:#96a686;display:block;margin-top:4px}.link-box{word-break:break-all;background:#f0f3e8;padding:12px;border-radius:8px;font-size:11px;line-height:1.7;color:#82956e}.poster-settings label{font-size:12px}.poster-settings input{margin-top:8px}.poster-settings .primary{margin-top:18px}.check-summary{font-size:11px;line-height:1.9;color:#839473}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#294d3c;color:#fff;padding:14px 23px;border-radius:10px;max-width:calc(100vw - 32px);z-index:100;font-size:13px;box-shadow:0 5px 25px #1d3e2520}dialog{border:1px solid #d8dfce;border-radius:18px;background:var(--card);color:var(--ink);padding:30px;max-width:460px;width:calc(100vw - 30px)}dialog::backdrop{background:#172c256b;backdrop-filter:blur(4px)}dialog form>label{display:block;font-size:12px;color:#7e8d70;margin:17px 0}dialog form>label input{margin-top:8px}dialog h2{font:28px var(--serif);font-weight:400;margin:15px 0}dialog .eyebrow{margin-top:10px}.dialog-close{position:absolute;right:15px;top:10px;border:0;background:transparent;color:#879778;font-size:28px}.tab-row{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-top:20px}.tab-row button{background:transparent;border:0;color:#99a18e;padding:10px 20px;border-bottom:2px solid transparent}.tab-row button.active{border-color:var(--green);color:var(--green)}.detail-dl{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:24px 0}.detail-dl dt{font-size:10px;color:#9aa68c;margin-bottom:5px}.detail-dl dd{margin:0;font-size:13px;color:#526e43}.loading{padding:80px;text-align:center;font-size:13px;color:#81956d}.section-divider{border:0;border-top:1px solid var(--line);margin:26px 0}.danger-button{color:#a8755c;border-color:#d9bdae}.compact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.compact-actions button{font-size:11px}.badge-note{font-size:10px;border:1px solid #d6dfc9;border-radius:4px;padding:3px 6px;color:#8a9c76}.account-panel{padding:18px 0 0;display:flex;gap:10px;align-items:center}.account-panel span{font-size:11px;color:#849575;word-break:break-all}.save-bar{display:flex;gap:12px;margin-top:24px;align-items:center}.save-bar .primary{width:auto;min-width:210px}.save-bar span{font-size:11px;line-height:1.8;color:#889c74}button .button-arrow{margin-left:12px}
@media(min-width:1440px){.landing{padding-top:75px;padding-bottom:95px}.hero-art{height:565px}}@media(max-width:1250px){.site-header{padding:0 35px}.landing{padding:40px 35px 60px;gap:45px}.hero-copy h1{font-size:48px}.hero-art{height:510px}.page-wrap{padding:35px 35px 60px}.site-footer{margin:0 35px}.hero-process{gap:8px;font-size:9px}}@media(max-width:900px){.brand em{display:none}.site-header nav{gap:20px}.landing{gap:25px}.hero-copy h1{font-size:39px}.hero-art{height:460px}.orbit span{width:44px;height:44px}.hero-art:before{width:320px;height:320px}.hero-art:after{width:230px;height:230px}.central-symbol{width:150px;height:190px}.central-symbol .symbol{font-size:67px}.hero-process{line-height:1.7}.profile-layout{grid-template-columns:1fr}.profile-side{position:static}.profile-side ol{display:none}.people-grid{grid-template-columns:repeat(2,1fr)}.poster-layout{grid-template-columns:1fr 300px;gap:20px}}@media(max-width:640px){.site-header{height:82px;padding:0 20px;gap:12px}.brand{font-size:30px}.site-header nav{position:fixed;bottom:0;left:0;right:0;background:#fbfcf6f5;border-top:1px solid #dce4d1;backdrop-filter:blur(12px);z-index:50;height:63px;justify-content:space-around;align-items:center;gap:0;padding-bottom:env(safe-area-inset-bottom)}.site-header nav a{font-size:12px;padding:14px 9px}.account-button{font-size:11px;padding:9px 13px}.account-button span{margin-left:12px}.landing{display:flex;flex-direction:column;padding:28px 23px 40px;gap:30px}.hero-copy{width:100%}.hero-copy h1{font-size:37px;line-height:1.45;margin:19px 0}.hero-copy .lead{font-size:13px;margin-bottom:22px}.eyebrow{font-size:9px;letter-spacing:2.2px}.birth-box{max-width:none;padding:20px}.hero-art{width:100%;height:300px;border-radius:140px 140px 18px 18px}.hero-art:before{width:260px;height:260px}.hero-art:after{width:175px;height:175px}.central-symbol{width:114px;height:142px;padding-top:15px;transform:rotate(-6deg)}.central-symbol .symbol{font-size:58px}.central-symbol small{font-size:8px;letter-spacing:3px;margin-top:10px}.orbit span{width:35px;height:35px;font-size:16px}.orbit span:nth-child(1){top:4%;left:46%}.orbit span:nth-child(2){right:10%;top:35%}.orbit span:nth-child(3){bottom:13%;right:25%}.orbit span:nth-child(4){bottom:13%;left:25%}.orbit span:nth-child(5){left:10%;top:35%}.art-note{bottom:17px;font-size:9px}.hero-process{font-size:9px;justify-content:center}.site-footer{margin:0 23px 63px;padding:20px 0;flex-direction:column;font-size:9px;gap:9px}.page-wrap{padding:24px 20px 40px}.page-heading{align-items:flex-start;gap:13px}.page-heading h1{font-size:31px}.page-heading p{font-size:12px}.page-heading .secondary{font-size:11px;padding:10px 12px;white-space:nowrap}.result-layout{grid-template-columns:1fr;gap:18px}.reading-card{padding:25px}.reading-card .day-master{font-size:90px}.surface{padding:21px}.surface h2{font-size:23px}.form-grid{grid-template-columns:1fr;gap:17px}.full-width{grid-column:auto}.profile-layout{gap:18px}.field-row .scope{width:107px;font-size:10px}.save-bar{flex-direction:column;align-items:stretch}.save-bar .primary{width:100%}.people-grid{grid-template-columns:1fr}.filter-bar{padding:16px;gap:10px}.filter-bar label{flex:1;min-width:40%}.filter-bar input,.filter-bar select{width:100%}.filter-bar button{width:100%}.connection-item{flex-direction:column;align-items:flex-start;padding:19px}.connection-actions{width:100%}.connection-actions button{flex:1}.poster-layout{grid-template-columns:1fr}.poster-stage{padding:20px}.poster-stage canvas{max-width:330px}.style-options{grid-template-columns:repeat(3,1fr);gap:7px}.style-choice{padding:10px;flex-direction:column;text-align:center;font-size:11px}.style-choice small{font-size:9px}.poster-settings{order:-1}.poster-settings .style-options{margin-bottom:5px}.poster-settings>.fine-print{margin-bottom:0}.poster-settings .surface{padding:19px}.actions{gap:8px}.actions .primary,.actions .secondary{font-size:12px;padding:13px}.empty-state{padding:40px 20px}.site-header .account-button{max-width:145px;overflow:hidden;text-overflow:ellipsis}.filter-bar .secondary{min-width:100%}dialog{padding:25px}.loading{padding:60px 20px}.compact-actions button{flex:1}.profile-side h3{font-size:21px}}

.local-review-banner{background:#e6ecd8;color:#526d3d;font-size:11px;text-align:center;padding:8px 16px;letter-spacing:1px;border-bottom:1px solid #d9e2c8}
@media(max-width:640px){.poster-settings{order:initial}}

@media(max-width:640px){.page-heading{flex-direction:column;align-items:stretch}.page-heading>.secondary{align-self:flex-start}.hero-copy h1{font-size:35px}}

.calendar-switch{border:0;display:flex;gap:4px;padding:4px;margin:0 0 19px;background:#edf1e4;border-radius:10px}.calendar-switch legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.calendar-switch label{flex:1;position:relative;cursor:pointer;text-align:center}.calendar-switch input{position:absolute;width:1px;height:1px;opacity:0;min-height:0;padding:0}.calendar-switch span{display:block;padding:10px 15px;border-radius:7px;color:#829173;font-size:13px}.calendar-switch input:checked+span{background:#fffef9;color:#294d3c;box-shadow:0 2px 7px #294d3c12}.calendar-switch input:focus-visible+span{outline:2px solid #83a06d;outline-offset:2px}.leap-month[hidden]{display:none!important}.birth-box input[type=text]{margin-top:9px;min-height:49px}

.birth-location{position:relative;margin-top:16px}.birth-location>label{display:block;margin-bottom:8px}.birth-location input{margin-top:0!important}.city-results{position:absolute;top:75px;left:0;right:0;z-index:12;background:#fffef9;border:1px solid #cdd9bd;border-radius:10px;box-shadow:0 10px 28px #233d3219;max-height:235px;overflow-y:auto;padding:5px}.city-results:empty{display:none}.city-result{display:block;width:100%;text-align:left;background:transparent;border:0;border-radius:6px;padding:11px 12px;color:#345438;font-size:12px}.city-result:hover,.city-result:focus-visible{background:#edf2e2}.city-result small{display:block;color:#899b75;font-size:10px;margin-top:4px}.city-selection{font-size:11px;color:#698454;line-height:1.7;margin:7px 0 0}.city-selection:empty{display:none}.birth-time-row{display:flex;align-items:center;gap:16px;margin-top:16px}.birth-time-field{flex:1;min-width:0}.birth-time-field>label{display:block;margin-bottom:8px}.birth-time-field input{min-height:44px}.birth-time-row>.check-line{margin-top:28px;white-space:nowrap}.birth-time-field input:disabled{color:#a4af99;background:#f0f3e9}.birth-box .birth-support-note{font-size:10px;line-height:1.7;color:#8b997b;margin:9px 0 0}
.city-message{margin:0;padding:12px;font-size:11px;line-height:1.7;color:#8a9c76}.birth-box .birth-location input[type=search]{margin-top:0}.birth-time-row .check-line{font-size:11px!important}

.chart-details{margin:20px 0;color:#7c9066;font-size:11px;line-height:1.8}.chart-details summary{cursor:pointer}.chart-details p{font-size:11px;margin:10px 0}

@media(max-width:640px){.result-layout+.surface .actions{flex-direction:column}.result-layout+.surface .actions .primary,.result-layout+.surface .actions .secondary{width:100%;text-align:center}}
.birth-fold{margin-top:14px}.birth-fold>label{display:block;margin-bottom:8px}.birth-fold[hidden]{display:none}

[hidden]{display:none!important}.account-actions{display:flex;align-items:center;gap:12px}.logout-button{background:transparent;border:0;border-bottom:1px solid #a3b195;color:#70875e;font-size:11px;padding:10px 2px;min-height:36px}.footer-links{display:flex;gap:16px}.footer-links a{text-decoration:underline;text-underline-offset:3px}.skip-link{position:fixed;top:8px;left:10px;transform:translateY(-160%);padding:12px 18px;background:#294d3c;color:white;z-index:150;border-radius:8px}.skip-link:focus-visible{transform:none}.profile-status{display:flex;align-items:center;gap:20px;flex-wrap:wrap;border:1px solid #dce4d1;background:#eef2e5;border-radius:10px;padding:10px 18px;margin:0 0 22px;font-size:12px;color:#7c9169}.profile-status .text-button{font-size:11px}.profile-status>a{margin-left:auto}#publish-dialog{max-width:600px;max-height:88vh;overflow:auto}#publish-dialog .actions button{font-size:12px}#publish-content .detail-dl{margin:16px 0}.feedback-form{display:flex;gap:8px;align-items:center;margin-top:10px}.feedback-form select{font-size:11px;min-height:36px}.feedback-form button{font-size:11px;white-space:nowrap}.reports-list{display:grid;gap:12px}.report-row{padding:14px 0;border-bottom:1px solid #e2e8d9;font-size:12px;line-height:1.9;color:#7a8d68}@media(max-width:640px){.account-actions{gap:8px}.site-header .account-button{max-width:128px}.logout-button{font-size:10px}.profile-status{gap:8px 16px;padding:11px 14px}.profile-status>a{margin-left:0;width:100%}.footer-links{flex-wrap:wrap}.feedback-form{flex-wrap:wrap}.feedback-form select{width:100%}}

.own-reports{margin-top:22px}.own-reports>summary{cursor:pointer;font-size:13px;color:#73895f}.own-reports .reports-list{margin-top:15px}#auth-agreement{flex-wrap:wrap;gap:4px;align-items:center}#auth-agreement input{margin-right:3px!important}#auth-agreement a{text-decoration:underline;text-underline-offset:3px}

.policy-line{flex-wrap:wrap;gap:4px;align-items:center}.policy-line a{display:inline;text-decoration:underline;text-underline-offset:3px}

.birth-date-fields{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:9px}.birth-date-fields>label>span{display:block;font-size:10px;color:#8b9a7b;margin-bottom:6px}.birth-date-fields input,.birth-date-fields select{margin-top:0!important;font-size:12px;min-height:44px;padding:10px 8px}.birth-box>.field-label{margin-top:2px;color:#6b7866;font-size:12px}

.preference-basis{font-size:11px;color:#859772;line-height:1.8;margin-top:15px}.preference-basis summary{cursor:pointer}.preference-basis p{margin:9px 0}.availability-editor{padding:2px 0 9px}.availability-editor>summary{font-size:15px;color:#58764a;cursor:pointer}.availability-editor>summary span{font-size:10px;color:#9aab87;margin-left:8px}.availability-settings{display:flex;gap:16px;align-items:end;margin:16px 0}.availability-settings>label:first-child{flex:1;font-size:11px;color:#80956d}.availability-settings select{font-size:11px;display:block;margin-top:7px}.availability-settings .check-line{margin:0 0 8px}.availability-slot{display:grid;grid-template-columns:90px 1fr 1fr 42px;align-items:end;gap:8px;padding:12px 0;border-top:1px solid #e4e9dc}.availability-slot>label{font-size:10px;color:#8b9c79;min-width:0}.availability-slot input,.availability-slot select{display:block;margin-top:6px;min-height:39px;font-size:12px;padding:9px}.availability-slot button{font-size:10px;min-height:39px}.availability-editor #add-availability{margin-top:7px}@media(max-width:640px){.availability-settings{flex-direction:column;align-items:stretch;gap:6px}.availability-settings .check-line{margin-top:7px}.availability-slot{grid-template-columns:75px 1fr 1fr 32px;gap:6px}.availability-slot input,.availability-slot select{padding:8px 6px;font-size:11px}}

.poster-light-fields>label:not(.check-line){display:block;font-size:11px;color:#80936c;margin:14px 0}.poster-light-fields input[type=text],.poster-light-fields input:not([type]){margin-top:7px}.poster-highlight-options{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 18px}.poster-highlight-options .chip-option span{padding:6px 9px;font-size:10px}.caption-presets{display:flex;gap:15px;margin:3px 0 8px}.caption-presets button{font-size:10px}.poster-settings textarea{font-size:12px;line-height:1.8;min-height:90px}.test-own-chart{display:block;text-align:center;font-size:12px;margin-top:12px}.style-options{grid-template-columns:1fr 1fr}.style-choice{font-size:12px;padding:11px;gap:8px}.style-choice small{font-size:9px}.swatch{width:23px;height:30px}.poster-stage{position:sticky;top:25px}.poster-settings>h2{font-size:24px}@media(max-width:640px){.style-options{grid-template-columns:repeat(2,1fr)}.poster-stage{position:static}.poster-person-settings{order:initial}}

.poster-output-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.poster-output-options label{font-size:10px;color:#81936c}.poster-output-options select{font-size:11px;margin-top:6px;min-height:40px}.poster-stage{flex-direction:column;align-items:center;gap:18px}.carousel-nav{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:390px;gap:12px}.carousel-nav button{font-size:11px;padding:9px 12px}.carousel-nav span{font-size:11px;color:#6e835c}.download-group{margin-top:10px;width:100%;font-size:12px;min-height:44px}#carousel-policy-note{font-size:10px;line-height:1.7}#carousel-qr-option{margin-bottom:2px}
.poster-output-options{grid-template-columns:1fr}.poster-adjustments,.poster-more-options{margin:16px 0}.poster-adjustments>summary,.poster-more-options>summary{cursor:pointer;color:#80936e;font-size:12px;min-height:32px}.poster-adjustments .style-options{margin-top:12px}.poster-more-options>label{display:block;font-size:11px;margin:12px 0}.poster-more-options select{margin-top:6px;font-size:12px}.poster-more-options #download-poster{width:100%;margin-top:10px}.poster-gallery{width:min(940px,calc(100vw - 28px));max-width:940px;max-height:91vh;padding:25px;overflow:auto}.gallery-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;position:sticky;top:-25px;background:#fffef9;padding:12px 0;z-index:2}.gallery-heading h2{margin:8px 0 0;font-size:25px}.gallery-heading button{font-size:12px}.gallery-item{border-top:1px solid #e0e7d5;padding:20px 0;margin:14px 0}.gallery-item h3{font-size:13px;color:#81936e;font-weight:400}.gallery-item img{display:block;max-width:100%;width:390px;height:auto;margin:12px auto;background:#f0f3e9;box-shadow:0 8px 28px #243f2714}.gallery-item>a{display:block;text-align:center;font-size:12px;padding:10px}#gallery-share{margin-top:20px}.poster-settings>h2{margin-bottom:5px}.poster-adjustments .poster-light-fields{margin-top:14px}@media(max-width:640px){.poster-gallery{padding:18px;width:calc(100vw - 18px);max-height:94vh}.gallery-heading{top:-18px;gap:10px}.gallery-heading h2{font-size:22px}.gallery-heading button{padding:9px 12px}.gallery-item img{width:100%}.poster-adjustments .style-options{grid-template-columns:1fr 1fr}}
[hidden]{display:none!important}
.landing-samples,.landing-create{width:min(1120px,calc(100% - 48px));margin:0 auto 72px}.sample-heading{max-width:660px;margin-bottom:28px}.sample-heading h2{font-size:clamp(26px,3.2vw,38px);line-height:1.4;margin:10px 0 12px}.sample-heading p{color:var(--muted,#6d786c);line-height:1.8}.sample-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.sample-card{border:1px solid #d8dfcf;border-radius:24px;padding:26px;background:#f0eddf;display:flex;flex-direction:column;min-width:0}.sample-wood{background:#eaf0e5}.sample-water{background:#e8eef0}.sample-top{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;font-size:12px;color:#536153}.sample-badge{font-size:10px;border:1px solid #a5b19e;border-radius:99px;padding:3px 7px}.sample-stem{font-family:Georgia,'Songti SC',serif;font-size:76px;line-height:1.15;margin:28px 0 16px}.sample-stem small{font-family:inherit;font-size:14px;display:block;margin-top:8px}.sample-card h3{font-size:22px;line-height:1.55;margin:0 0 18px;font-weight:500}.sample-target{font-size:14px}.sample-target strong{margin-left:6px}.sample-relation{font-size:12px;color:#566354}.sample-bio{font-size:14px;line-height:1.8;flex:1}.sample-create{width:100%;margin-top:14px}.landing-samples>.fine-print{margin-top:20px}.landing-create{scroll-margin-top:24px;padding-top:20px}.landing-create .birth-box{max-width:660px;margin:0}.landing:has(+.landing-samples){padding-bottom:48px;min-height:0}
@media(max-width:760px){.sample-grid{grid-template-columns:1fr}.landing-samples,.landing-create{width:calc(100% - 36px);margin-bottom:44px}.sample-card{padding:24px}.sample-stem{font-size:60px;margin:18px 0 12px}.sample-heading h2{font-size:27px}.sample-card h3{font-size:22px}}
.sample-facts{margin:2px 0 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;padding:18px 0;border-top:1px solid #cbd4c3;border-bottom:1px solid #cbd4c3}.sample-facts div{min-width:0}.sample-facts dt{font-size:11px;color:#64705f;margin-bottom:4px}.sample-facts dd{margin:0;font-size:15px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.sample-facts div:nth-child(4){grid-column:1/-1}
.sample-sport{margin:0 0 18px}.sample-sport>span{font-size:11px;color:#64705f}.sample-sport p{font-size:14px;line-height:1.8;margin:5px 0}
.sample-pages{display:flex;gap:6px;margin-top:auto;padding-top:20px}.sample-pages button{flex:1;font:inherit;font-size:11px;padding:9px 3px;background:transparent;color:#536153;border:1px solid #b9c7b0;border-radius:8px;cursor:pointer}.sample-pages button[aria-pressed=true]{background:#2e4c38;color:#fff}.sample-date-heading{padding-top:28px}.sample-slide[hidden]{display:none!important}
.sample-dates{display:grid;gap:12px;margin:18px 0}.sample-dates>div{border:1px solid #cbd4c3;border-radius:12px;padding:14px}.sample-dates strong{font-size:16px}.sample-dates p{font-size:13px;line-height:1.7;margin:6px 0 0;color:#536153}
.hero-copy h1 .hero-title-line{display:block;white-space:nowrap;color:inherit}.hero-copy h1{font-size:clamp(25px,6.8vw,52px)}.sample-heading h2,.sample-card h3{text-wrap:pretty;word-break:normal}.birth-box>.primary{white-space:normal;line-height:1.6;padding:14px 10px;font-size:15px}

/* Two-page text-first sample: optional photo at top right; invitation closes cover. */
.sample-slide{position:relative}.sample-photo{float:right;width:86px;height:104px;margin:18px 0 14px 16px;border:1px solid #b7c5ad;border-radius:12px;background:rgba(255,255,255,.35);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;text-align:center;color:#64705f;font-size:12px;overflow:hidden}.sample-photo img{width:100%;height:100%;object-fit:cover}.sample-photo small{font-size:10px}.sample-invite{clear:both;margin-top:22px;padding:18px 16px;background:rgba(255,255,255,.45);border:1px solid #c4d0ba;border-radius:14px}.sample-invite strong{display:block;font-size:17px;line-height:1.6}.sample-invite p{font-size:13px;line-height:1.8;margin:8px 0}.sample-invite small{font-size:11px;color:#64705f}.sample-pages button{font-size:13px}@media(max-width:420px){.sample-photo{width:76px;height:94px;margin-left:12px}.sample-stem{font-size:52px}}
.sample-card{padding:20px}
.sample-stem{font-size:58px;margin:16px 0 10px}
.sample-stem small{margin-top:4px;font-size:12px}
.sample-card h3{font-size:20px;line-height:1.4;margin-bottom:10px}
.sample-photo{margin-top:12px;margin-bottom:8px}
.sample-target{line-height:1.5}
.sample-relation{margin:7px 0 10px;line-height:1.5}
.sample-facts{gap:8px 12px;padding:12px 0;margin:0 0 12px}
.sample-facts dt{margin-bottom:2px}
.sample-facts dd{font-size:14px;line-height:1.4}
.sample-card .tags{gap:5px;margin-top:6px;margin-bottom:8px}
.sample-invite{margin-top:12px;padding:10px 12px;border-radius:10px}
.sample-invite h3,.sample-invite strong{font-size:15px;line-height:1.4;margin:0 0 4px}
.sample-invite p{font-size:12px;line-height:1.5;margin:4px 0}
.sample-invite small{font-size:10px;line-height:1.4;display:block}
.sample-photo{position:relative}
.sample-photo .sample-ai-label{position:absolute;bottom:0;left:0;right:0;padding:3px;background:rgba(35,61,50,.8);color:#fff;font-size:10px}

/* Keep the three basic measurements together, including narrow phone cards. */
.sample-facts{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px 10px}
.sample-facts>div{grid-column:span 3}
.sample-facts>div:nth-child(-n+3){grid-column:span 2}
.sample-facts>div:nth-child(-n+3) dd{white-space:nowrap;font-variant-numeric:tabular-nums}
.sample-facts>div:nth-child(4){grid-column:1/-1}

/* Single-card launch layout. */
.sample-name{padding-top:16px;margin-bottom:4px!important}.sample-activities{font-size:13px;line-height:1.8;padding:10px 0;border-top:1px solid #cbd4c3}.sample-activities strong{font-weight:500;color:#64705f;margin-right:6px}.sample-name+.sample-stem{margin-top:6px}.brand{white-space:nowrap}.landing-benefits{padding-left:20px;color:var(--muted);font-size:13px;line-height:1.8}.landing-benefits li{margin:8px 0}

.poster-invite-summary{padding:12px 14px;border:1px solid #dce4d4;border-radius:10px;background:#f4f6ee;font-size:12px;line-height:1.8;color:#52644e}.poster-next{margin-top:14px}.connection-next{gap:12px;margin:14px 0;flex-wrap:wrap}.connection-next .fine-print{flex-basis:100%;margin:0}.connection-next a{white-space:normal;overflow-wrap:anywhere}.site-header nav{flex-wrap:wrap}@media(max-width:640px){.connection-next{align-items:stretch;flex-direction:column}.connection-next .secondary{text-align:center}}

/* ==== 相生 design-system layer 2026-11-06 (tokens: friends-tokens.css) ====
   Appended last so it wins by source order at equal specificity. Presentation only. */
:root{--paper:var(--xs-paper,#f7f4ec);--ink:var(--xs-ink,#1f2a26);--muted:var(--xs-muted,#5d665e);--green:var(--xs-primary,#24473a);--line:var(--xs-line,#e2dccd);--card:var(--xs-surface,#fffdf8);--red:var(--xs-danger,#9c3a2a);--serif:var(--xs-serif);--sans:var(--xs-sans)}
body{line-height:var(--xs-lh-base);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--xs-focus);outline-offset:3px}
/* Brand + header */
.brand{font-family:var(--xs-serif);letter-spacing:2px;font-weight:600;color:var(--xs-ink)}
.brand em{color:var(--xs-muted);border-color:var(--xs-line-strong)}
.site-header nav{color:var(--xs-ink-2)}
.site-header nav a{display:inline-flex;align-items:center;min-height:var(--xs-tap)}
.site-header nav a[aria-current]{color:var(--xs-primary);border-color:var(--xs-primary);font-weight:600}
.account-button{min-height:var(--xs-tap);color:var(--xs-primary);border-color:var(--xs-line-strong);font-size:var(--xs-fs-sm)}
.logout-button{min-height:var(--xs-tap);color:var(--xs-ink-2);border-color:var(--xs-line-strong);font-size:var(--xs-fs-xs)}
/* Type floor + contrast */
.eyebrow{font-size:var(--xs-fs-xs);letter-spacing:2px;color:var(--xs-muted);font-weight:600}
.fine-print{font-size:var(--xs-fs-xs);color:var(--xs-muted)}
.muted{color:var(--xs-muted)}
.page-heading h1{font-family:var(--xs-serif);color:var(--xs-ink);line-height:var(--xs-lh-tight)}
.page-heading p{color:var(--xs-ink-2);font-size:var(--xs-fs-sm)}
.notice{background:var(--xs-surface-2);border-left-color:var(--xs-primary);color:var(--xs-ink-2);font-size:var(--xs-fs-sm);border-radius:0 var(--xs-r-sm) var(--xs-r-sm) 0}
.site-footer{color:var(--xs-muted);font-size:var(--xs-fs-xs);letter-spacing:.5px}
.footer-links a{display:inline-flex;align-items:center;min-height:var(--xs-tap)}
/* Buttons: one height, one radius */
.primary{min-height:48px;border-radius:var(--xs-r-md);background:var(--xs-primary);color:var(--xs-primary-ink);font-size:var(--xs-fs-base);font-weight:600;box-shadow:var(--xs-shadow-sm);transition:background .2s var(--xs-ease)}
.primary:hover{background:#1a372c}
.secondary{min-height:var(--xs-tap);border-radius:var(--xs-r-md);border-color:var(--xs-line-strong);color:var(--xs-primary);font-size:var(--xs-fs-sm);font-weight:500;transition:background .2s var(--xs-ease)}
.secondary:hover{background:var(--xs-primary-soft)}
.text-button{min-height:var(--xs-tap);font-size:var(--xs-fs-sm);color:var(--xs-primary)}
.actions .primary,.actions .secondary{font-size:var(--xs-fs-sm)}
.page-heading .secondary{font-size:var(--xs-fs-sm)}
/* Surfaces */
.surface{background:var(--xs-surface);border-color:var(--xs-line);border-radius:var(--xs-r-lg);box-shadow:var(--xs-shadow-sm)}
.surface h2{font-family:var(--xs-serif);color:var(--xs-ink)}
dialog{border-color:var(--xs-line);border-radius:var(--xs-r-xl);background:var(--xs-surface);box-shadow:var(--xs-shadow-md)}
input,select,textarea{border-radius:var(--xs-r-sm)}
/* Chips: types are chips, never the hero */
.pill{font-size:var(--xs-fs-xs);background:var(--xs-surface);border-color:var(--xs-line-strong);color:var(--xs-ink-2);padding:6px 12px}
.tags span{font-size:var(--xs-fs-xs);background:var(--xs-surface-2);color:var(--xs-ink-2);border-radius:var(--xs-r-pill);padding:5px 10px}
.chip-option span{min-height:var(--xs-tap);display:flex;align-items:center;font-size:var(--xs-fs-sm);color:var(--xs-ink-2);border-color:var(--xs-line-strong);background:var(--xs-surface)}
.chip-option input:checked+span{background:var(--xs-primary-soft);color:var(--xs-primary);border-color:var(--xs-primary);font-weight:600}
.poster-highlight-options .chip-option span{font-size:var(--xs-fs-xs);padding:6px 12px}
.style-choice{min-height:var(--xs-tap);border-color:var(--xs-line-strong);color:var(--xs-ink-2)}
.style-choice.active{border-color:var(--xs-primary);background:var(--xs-primary-soft);color:var(--xs-primary)}
.style-choice small{font-size:var(--xs-fs-xs);color:var(--xs-muted)}
/* Person card: 日主 is the hero, tinted by element (data-element set by friends-element-accent.js) */
.person-card{border-color:var(--xs-line);border-radius:var(--xs-r-xl);background:var(--xs-surface);box-shadow:var(--xs-shadow-sm);transition:box-shadow .2s var(--xs-ease),transform .2s var(--xs-ease)}
.person-card:hover{box-shadow:var(--xs-shadow-md)}
.person-top{background:var(--xs-el-soft);padding:20px 22px;border-bottom:1px solid var(--xs-line)}
.person-stem{font-family:var(--xs-serif);font-size:64px;line-height:1;color:var(--xs-el)}
.person-top .pill{background:var(--xs-surface);color:var(--xs-el);border-color:currentColor;font-weight:600}
.person-body{padding:20px 22px 22px}
.person-body h2{font-family:var(--xs-serif);font-size:var(--xs-fs-xl);color:var(--xs-ink);overflow-wrap:anywhere;line-height:1.35}
.person-body .intro{font-size:var(--xs-fs-base);color:var(--xs-ink-2);line-height:1.7;min-height:0}
.person-body .secondary{min-height:48px}
/* Day-master reading (result) */
.reading-card{background:var(--xs-el-soft);border-color:var(--xs-line);border-radius:var(--xs-r-xl)}
.reading-card .day-master{font-family:var(--xs-serif);color:var(--xs-el)}
.reading-card .element-line{color:var(--xs-el);font-size:var(--xs-fs-md)}
.reading-card p{color:var(--xs-ink-2);font-size:var(--xs-fs-sm)}
.reading-card .circle-mark{border-color:var(--xs-el);opacity:.25}
/* Discover filter: compact two-column on phones so cards show above the fold */
.filter-bar{background:var(--xs-surface);border-color:var(--xs-line);border-radius:var(--xs-r-lg);box-shadow:var(--xs-shadow-sm)}
.filter-bar label{font-size:var(--xs-fs-xs);color:var(--xs-muted);font-weight:600}
.filter-bar input,.filter-bar select{min-height:var(--xs-tap);font-size:var(--xs-fs-base)}
.filter-bar button{min-height:var(--xs-tap);font-size:var(--xs-fs-sm)}
@media(max-width:640px){
 .filter-bar{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;padding:14px}
 .filter-bar label{min-width:0}
 .filter-bar label:last-of-type:nth-of-type(odd){grid-column:1/-1}
 .filter-bar button,.filter-bar .secondary{grid-column:1/-1;min-width:0}
 .site-header nav{height:64px;background:color-mix(in srgb,var(--xs-surface) 94%,transparent);border-top-color:var(--xs-line)}
 .site-header nav a{font-size:var(--xs-fs-sm);min-height:var(--xs-tap)}
 .site-footer{font-size:var(--xs-fs-xs)}
 .account-button{font-size:var(--xs-fs-xs)}
 .eyebrow{font-size:var(--xs-fs-xs)}
 .page-heading p{font-size:var(--xs-fs-sm)}
 .style-choice small{font-size:var(--xs-fs-xs)}
 .profile-status .text-button,.logout-button{font-size:var(--xs-fs-xs)}
}
/* Empty + loading states */
.empty-state{background:var(--xs-surface);border:1px dashed var(--xs-line-strong);border-radius:var(--xs-r-xl)}
.empty-state .empty-symbol{font-family:var(--xs-serif);color:var(--xs-primary);opacity:.55}
.empty-state h2{font-family:var(--xs-serif);color:var(--xs-ink)}
.empty-state p{font-size:var(--xs-fs-sm);color:var(--xs-ink-2)}
#main[aria-busy="true"]{opacity:.6;transition:opacity .2s var(--xs-ease)}
/* Landing samples follow the same element tint */
.sample-stem{font-family:var(--xs-serif)}
.sample-badge{font-size:var(--xs-fs-xs)}
.sample-wood{--xs-el:var(--xs-wood);--xs-el-soft:var(--xs-wood-soft)}
.sample-earth{--xs-el:var(--xs-earth);--xs-el-soft:var(--xs-earth-soft)}
.sample-water{--xs-el:var(--xs-water);--xs-el-soft:var(--xs-water-soft)}
.sample-card{background:var(--xs-el-soft);border-color:var(--xs-line);border-radius:var(--xs-r-xl)}
.sample-card .sample-stem{color:var(--xs-el)}
@media (prefers-reduced-motion:reduce){.person-card,.primary,.secondary{transition:none}}
/* 12px floor for meta text that earlier rules set to 8-11px */
body .hero-process span,body .hero-process b,body .central-symbol small,body .art-note,body .sample-ai-label,body .sample-invite small,body .landing dt,body .birth-box label>span,body .check-line,body .chart-details summary,body .connection-status,body .site-header nav a span,body .section-number,body .field small,body .preference-basis summary,body .preference-basis p,body .policy-line a,body .primary span,body .save-bar span,body .danger-button,body .account-panel span,body .poster-output-options label,body .poster-adjustments .fine-print,body .caption-presets .text-button,body .link-box{font-size:var(--xs-fs-xs)}
body .check-line{color:var(--xs-ink-2);line-height:1.6}
body .field small,body .preference-basis p{color:var(--xs-muted)}
/* Tap targets for inline controls */
a.text-button,button.text-button{display:inline-flex;align-items:center;min-height:var(--xs-tap)}
details>summary{display:flex;align-items:center;min-height:var(--xs-tap);cursor:pointer}
#main select,#poster-platform,#poster-mode{min-height:var(--xs-tap)}
body .check-line{font-size:var(--xs-fs-sm)!important;color:var(--xs-ink-2)!important}
#inbox-count{font-size:var(--xs-fs-xs)}
body .sample-photo .sample-ai-label,body .sample-facts dt,body .detail-dl dt,body .check-summary,body .availability-editor>summary span,body .poster-light-fields>label:not(.check-line),body .poster-adjustments>.fine-print{font-size:var(--xs-fs-xs)}
body .sample-facts dt,body .detail-dl dt,body .check-summary{color:var(--xs-muted)}
body .poster-adjustments>summary,body .poster-more-options>summary{min-height:var(--xs-tap);color:var(--xs-primary);font-size:var(--xs-fs-sm)}
a.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:var(--xs-tap)}
body .birth-time-row .check-line{font-size:var(--xs-fs-sm)!important}body .poster-adjustments .fine-print{font-size:var(--xs-fs-xs)!important}

/* 已核验 badge (2026-11-06). Only fields we verified by hand get it; unverified values show the plain range, no tag.
   The mark is for members only in in-app cards: add data-hide-verified on <body> (or any ancestor) to hide it. */
.verified-badge{display:inline-flex;align-items:center;gap:2px;margin-left:6px;padding:1px 8px;border:1px solid var(--xs-primary,#24473a);border-radius:999px;color:var(--xs-primary,#24473a);font-size:12px;line-height:18px;font-weight:600;vertical-align:middle;white-space:nowrap}
[data-hide-verified] .verified-badge,[data-hide-verified] .verified-mark{display:none}
/* Profile sheet (card page + own preview): poster language — 日主 panel, name under it, element-tinted chips, one CTA. */
#detail-dialog{max-width:620px;padding:22px 22px 0}
.ps-preview-note{margin:4px 0 0;color:var(--xs-muted);font-size:var(--xs-fs-sm)}
.profile-sheet{color:var(--xs-ink)}
.ps-hero{margin-top:26px}
#publish-content .ps-hero{margin-top:12px}
.ps-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:150px;padding:20px 22px 20px 26px;border-radius:var(--xs-r-xl);background:var(--xs-el-soft)}
.ps-daymaster{min-width:0;white-space:nowrap}
.ps-daymaster small{display:block;color:var(--xs-ink-2);font-size:var(--xs-fs-sm);letter-spacing:.24em}
.ps-daymaster strong{display:block;margin-top:2px;color:var(--xs-el);font:700 64px/1.05 var(--xs-serif);letter-spacing:.04em}
.ps-ring{flex:none;display:grid;place-items:center;width:96px;height:96px;border:11px solid var(--xs-el);border-radius:50%;box-sizing:border-box}
.ps-ring span{color:var(--xs-el);font:700 20px var(--xs-serif);letter-spacing:.08em}
.profile-sheet .ps-name{margin:18px 0 6px;color:var(--xs-ink);font:700 34px/1.2 var(--xs-serif);letter-spacing:.02em;overflow-wrap:anywhere}
.ps-who{margin:0 0 4px;color:var(--xs-ink);font:600 var(--xs-fs-lg)/1.4 var(--xs-serif)}
.ps-where{margin:0;color:var(--xs-muted);font-size:var(--xs-fs-sm)}
.ps-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.ps-chips span{padding:5px 14px;border:1.5px solid var(--xs-el);border-radius:var(--xs-r-pill);color:var(--xs-el);font-size:var(--xs-fs-base);font-weight:600;line-height:1.4}
.ps-bio{margin:20px 0 4px;padding-left:14px;border-left:3px solid var(--xs-el);color:var(--xs-ink-2);font:500 var(--xs-fs-md)/1.65 var(--xs-serif)}
.ps-row{margin:16px 0 0;padding:16px 0 0;border-top:1px solid var(--xs-line)}
.ps-label{color:var(--xs-muted);font-size:var(--xs-fs-sm);font-weight:500}
.ps-want{display:flex;gap:16px;align-items:baseline}
.ps-want>.ps-label{flex:none}
.ps-want strong{color:var(--xs-ink);font:700 var(--xs-fs-xl)/1.3 var(--xs-serif);letter-spacing:.06em}
.ps-types{margin:4px 0 0;color:var(--xs-ink-2);font:600 var(--xs-fs-base)/1.5 var(--xs-serif)}
.ps-facts{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
.ps-facts dt{color:var(--xs-muted);font-size:var(--xs-fs-xs)}
.ps-facts dd{margin:3px 0 0;color:var(--xs-ink);font:600 var(--xs-fs-md)/1.4 var(--xs-serif)}
.ps-money{display:grid;gap:10px}
.ps-money>div{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.ps-money .ps-label{min-width:5.5em}
.ps-money b{color:var(--xs-ink);font:700 24px/1.25 var(--xs-serif);white-space:nowrap}
.ps-money small{color:var(--xs-muted);font-size:var(--xs-fs-xs)}
.ps-money .verified-mark{margin:0}
.ps-money-note{margin-top:8px}
.ps-together{display:flex;align-items:stretch;margin:18px 0 0;border:1px solid var(--xs-line-strong);border-radius:var(--xs-r-lg);overflow:hidden}
.ps-together>.ps-label{flex:none;display:grid;place-items:center;padding:0 16px;border-right:1px solid var(--xs-line);color:var(--xs-ink);font:700 var(--xs-fs-lg) var(--xs-serif)}
.ps-together ul{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0;padding:14px 16px;list-style:none}
.ps-together li{display:flex;align-items:center;gap:8px;color:var(--xs-ink);font-weight:600}
.ps-together svg{flex:none;width:26px;height:26px;fill:none;stroke:var(--xs-el);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ps-why{margin:18px 0 0;padding:16px 18px;border-radius:var(--xs-r-lg);background:var(--xs-surface-2)}
.ps-why h3{margin:0 0 6px;font:700 var(--xs-fs-lg) var(--xs-serif)}
.ps-why ul{margin:0;padding-left:1.1em}
.ps-why li{margin:6px 0;line-height:1.6}
.ps-why .fine-print{margin:8px 0 0}
#detail-content .five-element-guide{margin-top:16px}
.ps-more{margin:16px 0 0;border-top:1px solid var(--xs-line);padding-top:12px}
.ps-more>summary{min-height:var(--xs-tap);display:flex;align-items:center;cursor:pointer;font-weight:600}
.ps-more .surface{margin-top:8px}
.ps-secondary{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px;margin:16px 0 0}
.ps-secondary>a{margin:0}
.ps-cta{position:sticky;bottom:0;z-index:1;margin:18px -22px 0;padding:12px 22px 14px;border-top:1px solid var(--xs-line);background:var(--xs-surface);box-shadow:0 -10px 18px -14px rgba(31,42,38,.35)}
.ps-apply{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;border:0;border-radius:var(--xs-r-pill);background:var(--xs-primary);color:var(--xs-primary-ink);font:700 var(--xs-fs-md) var(--xs-sans);cursor:pointer}
.ps-apply:hover{background:#1b3d2c}
.ps-apply:disabled{opacity:.6}
.ps-cta .fine-print{margin:8px 0 0;text-align:center}
@media(min-width:720px){.ps-panel{min-height:180px;padding:24px 34px}.ps-daymaster strong{font-size:88px}.ps-ring{width:132px;height:132px;border-width:14px}.ps-ring span{font-size:24px}.profile-sheet .ps-name{font-size:40px}.ps-facts{grid-template-columns:repeat(3,1fr)}.ps-money{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0}.ps-money>div{display:block;padding:0 16px;border-left:1px solid var(--xs-line)}.ps-money>div:first-child{padding-left:0;border-left:0}.ps-money b{display:block;margin:4px 0 2px;font-size:28px}.ps-money small{display:block}.ps-money .verified-mark{margin-top:4px}}
/* 1106: 不让一个字单独占一行 + 介绍页更紧凑 */
h1,h2,h3,.ps-name,.ps-who{text-wrap:balance}
p,li,dd,blockquote,.fine-print,.ps-bio{text-wrap:pretty}
.ps-hero{margin-top:14px}
.ps-panel{min-height:118px;padding:16px 18px 16px 22px}
.ps-daymaster strong{font-size:56px}
.ps-ring{width:84px;height:84px;border-width:10px}
.profile-sheet .ps-name{margin:12px 0 2px;font-size:30px}
.ps-chips{margin-top:10px}
.ps-bio{margin:14px 0 0;line-height:1.55}
.ps-row{margin:12px 0 0;padding:12px 0 0}
.ps-together{margin:12px 0 0}
.ps-together ul{padding:10px 14px}
.ps-why{margin:12px 0 0;padding:12px 16px}
.ps-why li{margin:3px 0;line-height:1.5}
.ps-more,.ps-secondary{margin-top:12px}
.ps-cta{margin-top:12px;padding:10px 22px 12px}
.profile-sheet h3{margin:14px 0 6px}
.profile-sheet p{margin:6px 0}
@media(min-width:720px){.ps-panel{min-height:150px}.ps-daymaster strong{font-size:76px}.ps-ring{width:116px;height:116px;border-width:12px}.profile-sheet .ps-name{font-size:36px}}
/* 1106b: 资料页按参考海报排版——左信息右头像，名字在头像下 */
.ps2 .ps2-top{display:grid;grid-template-columns:1fr 38%;gap:14px;align-items:start;margin-top:8px;padding-bottom:12px;border-bottom:1px solid var(--xs-line-strong)}
.ps2-main{min-width:0}
.ps2-where{margin:0;color:var(--xs-ink-2);font:600 var(--xs-fs-sm)/1.4 var(--xs-serif);letter-spacing:.06em}
.ps2-dm{display:block;margin:2px 0 4px;color:var(--xs-el);font:800 52px/1.05 var(--xs-serif);letter-spacing:.02em}
.ps2-want{display:flex;gap:10px;align-items:baseline;margin:0}
.ps2-want span{color:var(--xs-ink-2);font:600 var(--xs-fs-base) var(--xs-serif)}
.ps2-want b{font:800 22px/1.2 var(--xs-serif);color:var(--xs-ink);letter-spacing:.04em}
.ps2-types{margin:2px 0 0;color:var(--xs-muted);font-size:var(--xs-fs-sm);line-height:1.45}
.ps2-line{display:flex;flex-wrap:wrap;gap:4px 16px;margin:8px 0 0;padding-top:8px;border-top:1px solid var(--xs-line);color:var(--xs-ink);font:700 var(--xs-fs-md)/1.35 var(--xs-serif)}
.ps2-work{flex-direction:column;gap:2px}
.ps2-photo{margin:0;text-align:center}
.ps2-avatar{display:grid;place-items:center;aspect-ratio:4/5;border-radius:var(--xs-r-lg);background:var(--xs-el-soft);color:var(--xs-el);font:800 56px var(--xs-serif)}
.ps2-photo figcaption{margin-top:6px}
.ps2 .ps-name{margin:0;font-size:22px;line-height:1.25}
.ps2-photo figcaption span{display:block;margin-top:2px;color:var(--xs-ink-2);font-size:var(--xs-fs-xs);font-weight:600}
.ps2 .ps-bio{margin:12px 0 0}
.ps2-why,.ps2-open{margin:10px 0 0;padding:10px 14px;border-radius:var(--xs-r-lg);background:var(--xs-surface-2);font-size:var(--xs-fs-sm);line-height:1.55;color:var(--xs-ink)}
.ps2-why span,.ps2-open span{margin-right:8px;color:var(--xs-muted);font-weight:600}
.ps2-links{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;margin:12px 0 0;font-size:var(--xs-fs-sm)}
.ps2-links a,.ps2-links .text-button{color:var(--xs-muted);text-decoration:underline;text-underline-offset:3px;font-size:var(--xs-fs-sm);min-height:32px;padding:0}
@media(min-width:720px){.ps2 .ps2-top{grid-template-columns:1fr 34%}.ps2-dm{font-size:72px}.ps2-avatar{font-size:72px}}
body:has(dialog[open]) .skip-link{display:none}
