/* Shared Direction B tokens. Both entry and report use the same design system. */
/* Small, licensed heading subset, served here rather than by a third-party CDN. */
@font-face{
 font-family:"YuexiaTitleSerif";
 src:url('/fonts/yuexia-title-serif-extralight-v1.woff2?v=aea684edf6299289631eb5e1673bed025571a89ba519f4d38eeaa40d52ec57ae') format('woff2');
 font-weight:250;
 font-style:normal;
 font-display:swap;
}
:root{
 --landscape-image:url('/ink-landscape-desktop.1698b48afc3f.webp?v=aea684edf6299289631eb5e1673bed025571a89ba519f4d38eeaa40d52ec57ae');
 --serif:"STSong","Songti SC","SimSun",serif;
 --paper:#edf4f6;
 --card:#fcfefe;
 --ink:#354e5b;
 --heading:#263f4c;
 --muted:#526b77;
 --line:#d7e4e8;
 --accent:#3c6878;
 --accent-hover:#2c5363;
 --gold:#526b77; /* Compatibility token; no gold remains in this report. */
 --soft:#eaf2f5;
 --mist:#f3f8fa;
 --river-line:#9bb8c2;
 --focus:#315f70;
 --shadow:rgba(41,76,91,.045);
 --metal:#9d947b; /* Small decorative lines only, never text or a large surface. */
 --control-border:#bdcfd6;
}
body{
 background-color:var(--paper);
 background-image:linear-gradient(180deg,rgba(237,244,246,.64),rgba(237,244,246,.82) 320px,var(--paper) 940px),var(--landscape-image);
 /* Reuse the landscape luminance, replacing the bitmap's yellow paper with cool grey-blue. */
 background-blend-mode:normal,luminosity;
 background-position:center top,center 48px;
 background-size:auto 1000px,100% auto;
 background-repeat:no-repeat;
 line-height:1.85;
}
.report-page .top{padding-top:22px;padding-bottom:14px}
/* Decorative landscape starts only after the report text (or empty state) is ready. */
.report-page[data-report-state="loading"]{background-image:linear-gradient(180deg,rgba(237,244,246,.64),rgba(237,244,246,.82) 320px,var(--paper) 940px)}
@media(max-width:767px){:root{--landscape-image:url('/ink-landscape-mobile.65d605de46be.webp?v=aea684edf6299289631eb5e1673bed025571a89ba519f4d38eeaa40d52ec57ae')}}
.report-page .brand{color:var(--heading);font-weight:500;letter-spacing:3px}
.report-page .brand{display:flex;align-items:center;gap:12px;line-height:26px}
.report-page .brand-logo{display:block;width:48px;height:32px;object-fit:contain;flex:none}
.report-page .brand-name{white-space:nowrap}
.report-page .report-intro{padding:24px 2px 30px}
.report-page .eyebrow{color:var(--accent);letter-spacing:4px;font-weight:500}
.report-page .report-intro h1{color:var(--heading);font-size:32px;line-height:1.5;letter-spacing:2px}
.report-page .intro::after{content:"";display:block;width:44px;height:1px;margin:22px 0 0;background:var(--river-line)}
.report-page .report-layout{padding-top:8px}
.report-page .report-section{
 background:var(--card);border:1px solid var(--line);border-radius:10px;
 padding:25px 21px 28px;margin-bottom:24px;
 box-shadow:0 7px 26px var(--shadow);
}
.report-page .card::before{content:none}
.report-page h2,.report-page h3,.report-page h4{color:var(--heading);text-wrap:pretty}
.report-page .report-section>h2{font-size:22px;line-height:1.65;letter-spacing:.4px;margin-bottom:24px}
.report-page h3{font-weight:600;line-height:1.8;margin-top:24px;margin-bottom:10px}
.report-page h4{font:500 16px/1.85 "PingFang SC","Microsoft YaHei",system-ui,sans-serif;margin:22px 0 8px}
.report-page p,.report-page li{text-wrap:pretty}
.report-page .section-number{color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums;letter-spacing:1px;margin-right:9px}
.report-page .pillars{gap:8px;margin:22px 0}
.report-page .pillar{background:var(--mist);border-color:var(--line);border-radius:6px;padding:14px 2px}
.report-page .pillar strong{color:var(--accent);font-size:29px}
.report-page #section-marriageScore{border-top:2px solid var(--river-line)}
.report-page #section-marriageScore>.score-line{margin:26px 0 18px;gap:10px}
.report-page .score-number{color:var(--accent);font-size:74px;line-height:1.08;font-weight:400;font-variant-numeric:lining-nums tabular-nums;letter-spacing:-2px}
.report-page .score-number small{color:var(--muted);font-size:16px;letter-spacing:0;margin-left:12px}
.report-page .score-line .lead{font-size:17px;color:var(--heading);font-weight:500}
.report-page .score-explanation{color:var(--heading);font-size:16px;line-height:1.95;margin:0 0 24px;max-inline-size:65ch}
.report-page .relationship-portrait p{line-height:1.95;margin-bottom:14px}
.report-page .report-prose{font-size:16px;line-height:1.95;margin:10px 0 14px;max-inline-size:65ch;overflow-wrap:break-word;text-wrap:pretty}
.report-page .relationship-highlights{background:var(--soft);border-left:2px solid var(--river-line);border-radius:0 6px 6px 0;padding:4px 17px 8px;margin:28px 0}
.report-page .relationship-highlights h3{margin-top:16px}
.report-page .note{background:transparent;color:var(--muted);border:0;border-radius:0;padding:0;margin:12px 0;line-height:1.9}
.report-page .timing-option{background:var(--mist);border:0;border-left:2px solid var(--river-line);border-radius:0 7px 7px 0;padding:20px 17px 22px;margin:24px 0;box-shadow:none}
.report-page .years{font-size:27px;font-weight:400;color:var(--accent);font-variant-numeric:lining-nums tabular-nums;line-height:1.6;letter-spacing:0;margin-top:0}
.report-page .year-level{color:var(--muted);font:500 14px/1.9 "PingFang SC","Microsoft YaHei",system-ui,sans-serif;margin-top:8px}
.report-page .scenario-card{padding:27px 0;border-bottom:1px solid var(--line)}
.report-page .scenario-card>h3{margin-top:0;font-size:19px;line-height:1.8}
.report-page .scenario-card:last-child{padding-bottom:0;border-bottom:0}
.report-page blockquote{background:var(--soft);border-left:2px solid var(--river-line);border-radius:0 6px 6px 0;padding:18px 17px;margin:20px 0;color:var(--heading);line-height:1.95}
.report-page .detail{border-top:1px solid var(--line);margin-top:23px}
.report-page .detail>summary{min-height:54px;padding:14px 3px;color:var(--accent);font-size:15px;font-weight:500;transition:background-color .18s ease,color .18s ease}
.report-page .detail>summary::marker{color:var(--gold);font-size:.8em}
.report-page .detail[open]>summary{color:var(--heading);font-weight:600;background:var(--mist)}
.report-page .details-body{padding-top:14px}
.report-page .rule-evidence,.report-page .year-evidence{border-top-style:solid;border-color:var(--line)}
.report-page .report-directory{margin:0 2px 25px}
.report-page .report-directory-head{display:flex;align-items:center;justify-content:flex-end;margin-bottom:12px}
.report-page .report-contents{margin:0}
.report-page .report-developer-tools{margin:0 2px 12px;text-align:right}
.report-page #copy-report{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex:0 1 142px;min-width:0;gap:6px;height:44px;padding:7px 9px;color:var(--card);font-family:inherit;font-size:15px;font-weight:600;line-height:1.5;text-decoration:none;border:1px solid var(--accent);border-radius:7px;background:var(--accent);white-space:nowrap;transition:background-color .18s ease,transform .18s ease}
.report-page #copy-report svg{display:block;flex:none}
.report-page #copy-report:hover{background:var(--accent-hover)}
.report-page #copy-report:active{transform:translateY(1px)}
.report-page #copy-report:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.report-page #copy-status{font-size:14px;line-height:1.6;margin:8px 0 0}
.report-page #copy-status:empty,.report-page #clear-status:empty{display:none}
.report-page #copy-fallback{text-align:left;margin-top:12px}
.report-page .report-nav a{justify-content:center;text-align:center;color:var(--accent);text-decoration:none;padding:10px 12px;background:var(--soft);border:1px solid var(--river-line);border-radius:6px}
.report-page .report-nav a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.report-page .back-link{color:var(--accent);font-weight:500}
.report-page .tag{background:var(--soft);border-color:var(--line);border-radius:5px}
.report-page .safety{background:var(--soft);border-left:3px solid var(--accent);border-radius:0 6px 6px 0}
.report-page .primary{background:var(--accent);color:var(--card);box-shadow:none;border-radius:6px}
.report-page footer{border-color:var(--line);color:var(--muted);padding-top:28px;margin-top:36px}
.report-page :focus-visible{outline:2px solid var(--focus);outline-offset:4px}
.report-page .detail>summary:active{background:var(--soft)}
@media(hover:hover){
 .report-page .detail>summary:hover,.report-page .report-nav a:hover{background:var(--soft);color:var(--heading)}
 .report-page .back-link:hover{color:var(--accent-hover)}
 .report-page .primary:hover:not(:disabled){background:var(--accent-hover)}
}
@media(min-width:768px){
 body{background-size:100% 1100px,max(100%,1500px) auto}
 .report-page .report-layout{max-width:820px}
 .report-page .report-intro{padding-top:30px;padding-bottom:36px}
 .report-page .report-intro h1{font-size:37px}
 .report-page .report-section{padding:34px 38px 38px;margin-bottom:28px}
 .report-page .report-section>h2{font-size:25px}
 .report-page .timing-option{padding:25px 27px 28px}
 .report-page .score-number{font-size:82px}
}
@media(prefers-reduced-motion:reduce){.report-page .detail>summary{transition:none}}

/* Entry-specific control styling; all values consume the shared tokens above. */
.input-page .top{padding-top:22px;padding-bottom:14px}
.input-page .brand{color:var(--heading);font-weight:500;letter-spacing:3px}
.input-page .brand small{color:var(--muted)}
.input-page .input-layout{padding-top:8px}
.input-page .intro{padding:24px 2px 30px}
.input-page .eyebrow{color:var(--accent);letter-spacing:4px;font-weight:500}
.input-page h1{color:var(--heading);font-size:clamp(26px,7vw,32px);line-height:1.5;letter-spacing:.4px}
.input-page h2,.input-page h3{color:var(--heading)}
.input-page .intro::after{content:"";display:block;width:44px;height:1px;margin:22px 0 0;background:var(--metal)}
.input-page p,.input-page label{text-wrap:pretty}
.input-page .input-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:25px 21px 28px;box-shadow:0 7px 26px var(--shadow)}
.input-page .input-card::before{content:none}
.input-page .section-head{align-items:center;margin-bottom:18px;gap:4px 12px}
.input-page .section-head h2{font-size:22px;letter-spacing:.4px}
.input-page .text-button{color:var(--accent);font-weight:500}
.input-page .mode-picker{background:var(--soft);border-color:var(--line);border-radius:7px;padding:4px;gap:4px;margin:24px 0}
.input-page .mode-picker label{margin:0}
.input-page .mode-picker span{background:var(--mist);color:var(--ink);border-radius:5px;font-weight:500;transition:background-color .18s ease,color .18s ease}
.input-page .mode-picker input:checked+span{background:var(--accent);color:var(--card)}
.input-page .mode-picker input:focus-visible+span{outline:2px solid var(--focus);outline-offset:3px}
.input-page label{color:var(--heading);margin-bottom:20px}
.input-page input:not([type=checkbox]):not([type=radio]),.input-page select{background:var(--card);border-color:var(--control-border);border-radius:6px;color:var(--ink);padding-inline:11px;transition:border-color .18s ease,box-shadow .18s ease}
.input-page input::placeholder{color:var(--muted);opacity:1}
.input-page input:focus,.input-page select:focus{border-color:var(--focus);box-shadow:0 0 0 3px var(--soft)}
.input-page :focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.input-page .field-help{color:var(--muted);line-height:1.9;margin-top:11px}
.input-page #corrections{border-color:var(--line);margin-top:10px;margin-bottom:24px}
.input-page #corrections>summary{color:var(--accent);min-height:54px;padding-block:14px;font-size:16px}
.input-page #corrections[open]>summary{background:var(--mist)}
.input-page .details-body{padding-top:16px}
.input-page .primary{background:var(--accent);border-color:var(--accent);color:var(--card);border-radius:6px;box-shadow:none;min-height:54px;margin-top:24px;transition:background-color .18s ease,transform .18s ease}
.input-page .primary:active:not(:disabled),.input-page #home-fields-back:active{background:var(--accent-hover);transform:translateY(1px)}
.input-page .error{color:var(--heading);background:var(--soft);border-left:3px solid var(--accent);border-radius:0 5px 5px 0}
.input-page footer{color:var(--muted);border-color:var(--line);padding-top:28px;margin-top:36px}
.input-page .analysis-transition{color:var(--ink);background:var(--paper)}
.input-page .transition-landscape{background-image:linear-gradient(180deg,#edf4f68c,#edf4f636 65%,#edf4f6d9),var(--landscape-image)}
.input-page .transition-line{background:#9eae9e}
@media(hover:hover){
 .input-page .primary:hover:not(:disabled),.input-page #home-fields-back:hover{background:var(--accent-hover)}
 .input-page .text-button:hover{color:var(--accent-hover)}
 .input-page .mode-picker input:not(:checked)+span:hover{background:var(--line)}
 .input-page #corrections>summary:hover{background:var(--mist)}
}
@media(min-width:768px){
 .input-page .intro{padding-top:30px;padding-bottom:36px}
 .input-page h1{font-size:37px}
 .input-page .input-card{padding:34px 38px 38px}
 .input-page .section-head h2{font-size:25px}
}
@media(prefers-reduced-motion:reduce){
 .input-page .primary,.input-page #home-fields-dialog #home-fields-back,.input-page input,.input-page select,.input-page .mode-picker span{transition:none}
}

/* Independently designed date wheels and pillar selection, sharing the cool palette. */
.input-page .birth-entry{display:grid;grid-template-columns:1fr auto;gap:8px;width:100%;text-align:left;align-items:center;background:var(--mist);border:1px solid var(--control-border);border-radius:7px;color:var(--heading);padding:16px;margin:8px 0 14px;min-height:88px}
.birth-entry>span:first-child{font-size:14px;color:var(--muted)}
.birth-entry strong{grid-row:2;font-size:16px;font-weight:500}
.birth-entry>span:last-child{grid-column:2;grid-row:1/3;font-size:28px;color:var(--accent)}
.input-page #manual-entry{margin:8px 0 24px}
.input-page #manual-entry>summary{font-size:14px;color:var(--muted)}
.picker-open{overflow:hidden}
.birth-picker{position:fixed;inset:auto 0 0;margin:0 auto;width:min(100%,680px);max-width:100%;max-height:92dvh;padding:20px 16px max(18px,env(safe-area-inset-bottom));border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0;background:var(--card);color:var(--ink);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 -12px 48px rgba(38,63,76,.13)}
.birth-picker::backdrop{background:rgba(26,45,55,.42)}
.picker-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.picker-head h2{font-size:23px;margin:0}
.picker-head>button{background:transparent;border:0;color:var(--accent);min-height:44px;padding:8px 12px}
.picker-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;background:var(--soft);border-radius:7px;padding:4px}
.picker-tabs button{border:0;border-radius:5px;min-height:44px;background:var(--mist);color:var(--ink);font-size:16px}
.picker-tabs button[aria-pressed=true]{background:var(--accent);color:var(--card)}
.date-wheels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:18px 0}
.wheel-column{min-width:0;text-align:center}
.wheel-label{color:var(--muted);font-size:14px;margin-bottom:8px}
.wheel{height:220px;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y mandatory;padding:88px 0;scrollbar-width:none;touch-action:pan-y;mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent);border-radius:5px}
.wheel::-webkit-scrollbar{display:none}
.wheel button{display:block;flex:none;width:100%;height:44px;min-height:44px;padding:0;border:0;border-radius:0;line-height:44px;scroll-snap-align:center;background:transparent;color:var(--muted);font-size:18px;font-variant-numeric:tabular-nums;white-space:nowrap}
.wheel button[aria-selected=true]{background:var(--soft);color:var(--heading);font-size:21px;font-weight:600;border-radius:10px}
.wheel:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.picker-preview{background:var(--mist);border-block:1px solid var(--line);padding:12px;text-align:center;color:var(--heading);font-size:16px}
.picker-footer{padding-top:4px}
#birth-picker #picker-status{min-height:1.8em;line-height:1.8}
/* Keep the confirmation visually stable while year/month validation blocks
   interaction. The real disabled state remains, including keyboard protection. */
#birth-picker #picker-confirm:disabled{opacity:1}
.input-page .picker-footer .primary{margin-bottom:0}
.pillar-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}
.pillar-slots>div{display:grid;gap:8px;text-align:center}
.pillar-slots span{font-size:14px;color:var(--muted)}
.pillar-slots button{height:54px;border:1px solid var(--line);border-radius:7px;background:var(--mist);font-size:22px;color:var(--heading)}
.pillar-slots button[aria-pressed=true]{border-color:var(--accent);background:var(--soft);box-shadow:inset 0 -2px var(--accent)}
.pillar-keyboard{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:14px 0 26px}
.pillar-keyboard button{min-height:46px;border:1px solid var(--line);border-radius:5px;background:var(--soft);color:var(--accent);font-size:21px}
.pillar-keyboard button:disabled{opacity:.35;cursor:not-allowed}
#reverse-panel{border-block:1px solid var(--line);margin-top:20px;padding-bottom:12px}
#reverse-advanced>summary{color:var(--muted);font-size:15px;padding-block:14px}
.reverse-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.reverse-result{display:grid;gap:4px;text-align:left;width:100%;padding:15px;margin:12px 0;background:var(--mist);color:var(--heading);border:1px solid var(--line);border-left:2px solid var(--river-line);border-radius:5px}
.reverse-result small{color:var(--muted)}
.reverse-result:hover{border-color:var(--accent);background:var(--soft)}
.reverse-result:active{transform:translateY(1px)}
.reverse-result:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.birth-picker .check{align-items:flex-start;font-size:15px}
.birth-picker .check input{flex-shrink:0;margin-top:5px}
.birth-picker .primary{font-size:18px;letter-spacing:1px}
@media(min-width:768px){.birth-picker{padding:26px 30px 24px}.date-wheels{gap:12px}}

/* Round 3 homepage only. Shared report tokens and report styles stay unchanged. */
.input-page{
 min-height:100dvh;
 background-image:linear-gradient(180deg,rgba(237,244,246,.28),rgba(237,244,246,.40) 320px,rgba(237,244,246,.85) 620px,var(--paper) 850px),var(--landscape-image);
 background-size:100% 100%,cover;background-position:center top,center top;
}
@media(max-width:767px){
 .input-page{background-position:center top,right top}
}
.input-page .top{max-width:1080px;min-height:44px;padding:10px 18px 4px}
.input-page .brand{font-size:21px;letter-spacing:2px}
.input-page .brand small{font-size:13px;letter-spacing:.5px}
.input-page .brand{line-height:26px;display:flex;align-items:center;gap:12px}
.input-page .brand-logo{display:block;width:48px;height:32px;object-fit:contain;flex:none}
.input-page .brand-name{white-space:nowrap}
.input-page .top{padding-block:0}
.input-page .input-layout{max-width:520px;padding:10px 16px 4px}
.input-page .intro{padding:0 2px 12px}
.input-page .intro::after{content:none}
.input-page .eyebrow{font-size:12px;line-height:18px;letter-spacing:3px;margin:0 0 6px}
.input-page h1{font-size:38px;line-height:1.16;letter-spacing:3px;margin:0 0 9px;font-weight:500}
.input-page .home-description{font-size:14px;line-height:1.65;margin:0 0 10px;color:var(--muted);text-wrap:pretty}
.input-page .home-features{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;padding:7px;background:rgba(234,244,247,.8);border-radius:10px}
.input-page .home-features li{display:flex;align-items:center;gap:7px;min-height:32px;margin:0;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:rgba(252,254,254,.9);color:var(--accent);font-size:13px;line-height:20px;white-space:nowrap}
.input-page .home-features svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.input-page .input-card{padding:8px 16px 14px;margin:0;border-radius:12px;box-shadow:0 6px 24px var(--shadow)}
.input-page .section-head{margin:0;gap:8px;flex-wrap:nowrap;min-height:44px}
.input-page .section-head h2{font-size:21px;flex:1 1 auto;letter-spacing:2px}
.input-page .birth-input-hint{margin:0 0 6px;color:var(--muted);font-size:13px;line-height:1.6}
.input-page .section-head .text-button{font-size:13px;white-space:nowrap;min-height:44px}
.input-page .mode-picker{margin:0 0 8px;padding:3px;gap:3px}
.input-page .mode-picker span{min-height:42px;padding:5px 2px;font-size:15px}
.input-page .home-basics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.input-page .home-basics label{font-size:14px;line-height:20px;margin:0 0 8px}
.input-page .home-basics select{min-height:44px;height:44px;margin-top:4px}
.input-page .birth-entry{min-height:58px;padding:7px 12px;margin:0;gap:0 8px}
.input-page .birth-entry>span:first-child{font-size:12px;line-height:20px}
.input-page .birth-entry strong{font-size:15px;line-height:24px;letter-spacing:0}
.input-page .birth-entry>span:last-child{line-height:1}
.input-page .home-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.input-page .home-options #manual-entry[open]{grid-column:1/-1}
.input-page #manual-entry .mode-picker{margin:4px 0 12px}
.input-page #manual-entry,.input-page #corrections{margin:6px 0 0;border:0}
.input-page #manual-entry>summary,.input-page #corrections>summary{min-height:44px;padding:10px 0;font-size:14px;white-space:nowrap}
.input-page #manual-entry>summary .muted,.input-page #corrections>summary .muted{font-size:12px}
.input-page .home-consent{border-top:1px solid var(--line);margin-top:4px;padding-top:2px}
.input-page .home-consent .check{margin:0;min-height:36px;gap:8px;line-height:1.6;font-size:14px}
.input-page .home-consent input{flex:none;margin:0;width:19px;height:19px}
.input-page .home-consent .legal-notice{font-size:13px;line-height:1.6}
.input-page #submit{margin:5px 0 0;min-height:48px;padding:8px 12px;border-radius:6px;font-size:20px;line-height:1.4;letter-spacing:2px;box-shadow:0 3px 10px var(--shadow)}
.input-page #form-error{font-size:14px;line-height:1.65;margin:6px 0;padding:8px}
.input-page .home-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 6px;border:0;padding:0;margin:2px 2px 0;font-size:11px;text-align:left}
.input-page .home-footer button{color:var(--muted);font-size:12px;min-height:44px;border:0;background:none;padding:4px 0;text-decoration:underline;text-underline-offset:4px}
.input-page .home-footer .developer-credit{white-space:nowrap}
.input-page .home-contact{display:flex;flex:0 0 100%;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px 6px;font-size:12px;line-height:1.6}
.input-page .home-contact span{white-space:nowrap}
.input-page .home-contact #home-feedback{font-size:12px;min-height:24px;padding:2px 0;white-space:nowrap}
.input-page .home-dialog{position:fixed;inset:var(--home-visible-top,0px) 0 auto;width:min(100% - 24px,540px);max-width:100%;max-height:calc(var(--home-visible-height,100dvh) - 24px);margin:12px auto;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--ink);padding:12px 18px 20px;overflow-y:auto;overscroll-behavior:contain}
.input-page .home-dialog::backdrop{background:rgba(26,45,55,.4)}
.input-page .home-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px;position:sticky;top:-12px;background:var(--card);padding:4px 0 8px;z-index:1}
.input-page .home-dialog-head h2{margin:0;font-size:21px}
.input-page #home-fields-dialog .home-dialog-head{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px}
.input-page #home-fields-title{grid-column:2;grid-row:1;text-align:center;white-space:nowrap;font-size:clamp(18px,5.4vw,21px)}
/* The static title remains the dialog's initial focus target, without a box. */
.input-page #home-fields-title:focus{outline:none}
.input-page #home-fields-back{grid-column:1;grid-row:1;justify-self:start;background:var(--accent);color:var(--card);border:1px solid var(--accent);font-family:var(--serif);transition:background-color .18s ease,transform .18s ease}
.input-page .basic-select-trigger{display:block;width:100%;min-height:44px;margin:0;padding:8px 32px 8px 11px;text-align:left;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--control-border);border-radius:6px;position:relative}
.input-page .basic-select-trigger::after{content:"";position:absolute;right:13px;top:calc(50% - 4px);width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.input-page .basic-select-menu{position:fixed;inset:auto;margin:0;padding:4px;background:var(--card);color:var(--ink);border:1px solid var(--control-border);border-radius:7px;box-shadow:0 6px 20px #294c5b1a;overflow-y:auto;overscroll-behavior:contain}
.input-page .basic-select-menu button{display:block;width:100%;min-height:44px;border:0;border-radius:4px;background:transparent;text-align:left;padding:8px 10px;font:inherit;color:var(--ink)}
.input-page .basic-select-menu button[aria-selected=true]{background:var(--soft);color:var(--accent)}
.input-page .basic-select-menu button:hover{background:var(--mist)}
.input-page .basic-select-trigger:focus-visible,.input-page .basic-select-menu button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
.input-page .home-dialog-footer{position:sticky;bottom:-20px;background:var(--card);padding:12px 0 8px;margin-top:12px;border-top:1px solid var(--line);z-index:2}
.input-page #home-fields-close{width:100%;min-height:48px}
.input-page .home-dialog-head>button{min-height:44px;border:0;border-radius:6px;background:var(--soft);padding:6px 12px;color:var(--accent);font-size:14px;white-space:nowrap}
.input-page .home-dialog .home-options{display:block}
.input-page .home-dialog #manual-entry,.input-page .home-dialog #corrections{border-top:1px solid var(--line);margin-top:12px}
.input-page .home-dialog label{font-size:15px}
.input-page .home-dialog p{font-size:14px;line-height:1.8}
.input-page .home-dialog .mode-picker{margin:6px 0 14px}
.input-page .home-dialog .date-fields{gap:0 10px}
.input-page .home-dialog .date-fields label{margin-bottom:12px}
.input-page .birth-picker{inset:calc(var(--home-visible-top,0px) + var(--home-visible-height,100dvh)) 0 auto;transform:translateY(-100%);max-height:calc(var(--home-visible-height,100dvh) - 12px)}
.input-page button:active:not(:disabled){transform:translateY(1px)}
@media(min-width:768px){
 .input-page .top{padding:24px 28px;min-height:88px}
 .input-page .input-layout{max-width:1080px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:24px 70px;align-items:center;padding:30px 28px}
 .input-page .intro{padding:0}
 .input-page .eyebrow{font-size:14px;margin-bottom:18px}
 .input-page h1{font-size:62px;line-height:1.2;margin-bottom:24px}
 .input-page .home-description{font-size:16px;line-height:1.9;margin-bottom:24px}
 .input-page .home-features{gap:8px;padding:10px}
 .input-page .home-features li{min-height:44px;font-size:14px;padding-inline:10px}
 .input-page .home-features svg{width:19px;height:19px}
 .input-page .input-card{padding:12px 24px 24px}
 .input-page .section-head{margin-bottom:8px}
 .input-page .home-footer{grid-column:1/-1;border-top:1px solid var(--line);margin-top:8px;padding-top:10px;justify-content:center;gap:22px}
 .input-page .home-contact{flex:0 1 auto}
}
@media(max-width:767px) and (max-height:740px){
 .input-page .top{padding-top:8px}
 .input-page .input-layout{padding-top:6px}
 .input-page .intro{padding-bottom:10px}
 .input-page h1{font-size:34px;line-height:1.14;margin-bottom:7px}
 .input-page .home-description{font-size:14px;line-height:1.6;margin-bottom:8px}
 .input-page .home-features{padding:5px;gap:5px}
 .input-page .home-features li{font-size:12px;gap:5px;padding:4px 6px}
 .input-page .input-card{padding:4px 14px 12px}
 .input-page .home-consent{margin-top:8px}
}
@media(max-width:340px){
 .input-page .top{padding-inline:12px}
 .input-page .input-layout{padding-inline:10px}
 .input-page .home-features li{font-size:12px;gap:4px}
 .input-page .brand{font-size:20px}
 .input-page .home-footer{font-size:10px}
 .input-page .home-footer button{font-size:11px}
 .input-page .home-contact,.input-page .home-contact #home-feedback{font-size:11px}
}
@media(max-width:767px) and (max-height:600px){
 .input-page .top{padding-block:0}
 .input-page h1{font-size:30px}
 .input-page .home-description{line-height:1.5}
 .input-page .home-features{padding:3px;gap:4px}
 .input-page .home-features li{min-height:30px}
 .input-page .home-footer{display:flex;margin-top:0}
 .input-page .input-layout{padding-bottom:0}
 .input-page .home-footer>button,.input-page .home-footer>.developer-credit{display:none} /* Same service information remains in the brand button; contact stays visible. */
 /* Once validation needs attention, give its message room without covering controls. */
 .input-page:has(#form-error:not([hidden])) .intro .eyebrow,
 .input-page:has(#form-error:not([hidden])) .home-description{display:none}
}

/* Approved homepage mark treatment: the crescent logo sits beside the title. */
.input-page{
 background-image:
  linear-gradient(180deg,rgba(224,239,243,.48),rgba(228,240,243,.60) 320px,rgba(237,244,246,.89) 620px,var(--paper) 850px),
  radial-gradient(ellipse 26% 16% at 68% 12%,rgba(237,244,246,.96) 0 28%,rgba(237,244,246,.78) 48%,rgba(237,244,246,.28) 72%,transparent 100%),
  var(--landscape-image);
 background-size:100% 100%,100% 100%,cover;
 background-position:center top,center top,center top;
}
.input-page .hero-lockup{
 display:grid;
 grid-template-columns:minmax(106px,.78fr) minmax(0,1.22fr);
 align-items:center;
 gap:8px;
 margin:0 0 8px;
}
.input-page .hero-logo{
 display:block;
 width:100%;
 max-width:152px;
 height:104px;
 object-fit:contain;
 filter:drop-shadow(0 2px 5px rgba(29,75,93,.10));
}
.input-page .hero-title-copy{min-width:0}
.input-page .hero-title-copy .eyebrow{margin:0 0 4px;font-size:11px;line-height:1.45;letter-spacing:2px}
.input-page .hero-title-copy h1{margin:0;font-size:clamp(25px,8vw,33px);line-height:1.18;letter-spacing:1px;text-wrap:balance}
@media(max-width:767px) and (max-height:740px){
 .input-page .hero-lockup{grid-template-columns:minmax(88px,.72fr) minmax(0,1.28fr);gap:5px;margin-bottom:6px}
 .input-page .hero-logo{max-width:112px;height:82px}
 .input-page .hero-title-copy .eyebrow{font-size:10px;letter-spacing:1.5px;margin-bottom:3px}
 .input-page .hero-title-copy h1{font-size:clamp(23px,7.7vw,30px);line-height:1.16;letter-spacing:.5px}
}
@media(max-width:340px){
 .input-page .hero-lockup{grid-template-columns:minmax(78px,.7fr) minmax(0,1.3fr);gap:4px}
 .input-page .hero-logo{height:72px}
 .input-page .hero-title-copy h1{font-size:clamp(22px,7.5vw,26px)}
}
@media(min-width:768px){
 .input-page .hero-lockup{grid-template-columns:minmax(190px,.9fr) minmax(0,1.1fr);gap:18px;margin-bottom:14px}
 .input-page .hero-logo{max-width:238px;height:210px}
 .input-page .hero-title-copy .eyebrow{font-size:14px;letter-spacing:3px;margin-bottom:12px}
 .input-page .hero-title-copy h1{font-size:clamp(48px,4vw,58px);line-height:1.2;letter-spacing:2px}
}

/* Approved mobile background: visible landscape with a light reading veil. */
@media(max-width:767px){
 .input-page{
  background-image:
   linear-gradient(180deg,rgba(233,244,246,.48),rgba(240,247,249,.74) 23%,rgba(233,244,246,.56) 46%,rgba(237,244,246,.64) 74%,rgba(237,244,246,.84)),
   var(--landscape-image);
  background-size:100% 100%,auto 100%;
  background-position:center top,left top;
  background-repeat:no-repeat;
  background-blend-mode:normal,luminosity;
 }
}

/* Approved fine Songti headings only: keep the existing size, spacing and layout. */
.input-page .brand-name,
.input-page .hero-title-copy h1,
.input-page .input-card .section-head h2,
.input-page #home-fields-title{
 font-family:"YuexiaTitleSerif",var(--serif);
 font-weight:250;
 font-synthesis:none;
}
