/* Mobile refinement of the approved ink landscape identity. Desktop stays intact. */
.menu-toggle{display:none}
@media screen and (min-width:761px) and (max-width:1023px){
 .site-header{padding-inline:5%}.site-header nav{gap:24px}
 .hero h1{font-size:52px}.hero-content{top:28%}
 #birth-form{grid-template-columns:minmax(0,1fr);gap:0}.form-aside{display:none}
 .form-row.time-row{flex-wrap:wrap}.time-row>.city-field{flex-basis:100%}
 .analysis-columns{gap:28px}.annual-reading-grid,.month-reading-grid{gap:30px}
 .plain-overview-grid{gap:23px}.annual-controls h4{width:100%}
 .quick-years{margin-left:0;margin-right:auto}
}
@media screen and (max-width:760px){
 html{scroll-padding-top:24px}body{font-size:16px;overflow-wrap:break-word}
 .section-wrap{width:calc(100% - 40px);max-width:620px}
 .site-header{height:88px;padding:env(safe-area-inset-top,0px) 24px 0;align-items:center}
 .brand{font-size:31px;min-height:44px;letter-spacing:2px}.seal{font-size:10px;min-height:0}
 .menu-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:0;padding:10px;border-radius:5px;position:relative;z-index:12}
 .menu-toggle svg{width:25px;height:25px;fill:none;stroke:var(--ink);stroke-width:1.5}
 .menu-toggle[aria-expanded=true]{background:#e5ebe1}
 .site-header nav{display:none;position:absolute;top:calc(76px + env(safe-area-inset-top,0px));right:20px;left:20px;background:var(--paper);padding:12px 20px;z-index:11;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 28px #20352512}
 .site-header.menu-open nav{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .site-header nav a,.site-header nav button{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:10px 3px;font-size:15px;text-align:left}
 .site-header nav>*+*{border-top:1px solid var(--line)}.site-header nav .history-link{display:flex}
 #history-count{font-size:13px}.hero{height:calc(100svh - 8px);min-height:740px;max-height:940px}
 .hero-content{top:145px;left:0;right:0;padding:0 26px}
 .hero h1{font-size:clamp(45px,12.5vw,60px);line-height:1.25;letter-spacing:-.02em;max-width:none;margin:0 0 22px}
 .hero h1 span{display:block}.hero-subtitle{font-size:20px;line-height:1.8;letter-spacing:0;max-width:16em;margin-bottom:25px}
 .hero-actions{align-items:center;gap:24px;flex-wrap:wrap}.hero-actions .button{padding:13px 24px;gap:27px;min-height:54px;font-size:16px}
 .sample-link{font-size:16px;min-height:48px;display:inline-flex;align-items:center;gap:4px}
 .hero-caption{font-size:12px;letter-spacing:.5px;margin-top:21px}.hero-caption span{margin:0 6px}
 .landscape{background-size:auto 65%;background-position:64% bottom;transform:none;will-change:auto}
 .hero:after{background:linear-gradient(180deg,var(--paper) 7%,rgba(247,248,245,.98) 29%,rgba(247,248,245,.58) 49%,transparent 72%,var(--paper) 100%)}
 .mist{height:50px;width:100%;filter:blur(17px);opacity:.26}.mist-one{bottom:14%}.mist-two{display:none}
 .hero-bottom{left:24px;right:24px;bottom:20px;font-size:11px;gap:12px}.scroll-cue{min-height:44px;gap:8px}
 .section-intro h2{font-size:27px;line-height:1.6;text-wrap:balance}.section-intro>p{font-size:14px;line-height:1.95}
 .method-section{padding:48px 0 55px}.method-list{margin:24px 0 30px}.method-list article{padding:25px 0}
 .method-list h3{font-size:23px}.method-list p{font-size:16px;line-height:1.9}.method-mark{font-size:12px}
 .method-section>.button{font-size:15px;width:100%;min-height:52px}
 .workspace,.report{padding:42px 0 52px}.workspace .section-intro{margin-bottom:30px}
 .step-indicator{font-size:12px!important;letter-spacing:1px}
 #birth-form{display:block;min-width:0}.form-main{min-width:0}
 .form-row{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:24px}
 label,legend{font-size:14px}.optional{font-size:12px}
 input:not([type=radio]):not([type=checkbox]),select{font-size:16px;min-height:52px;padding:12px;min-width:0;max-width:100%;line-height:1.5}
 input[type=time]{width:100%;min-width:0;appearance:none;-webkit-appearance:none}
 input[type=number]{appearance:textfield;-moz-appearance:textfield}
 input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
 .segmented{min-height:52px}.segmented span{height:44px;font-size:15px}
 .compact{min-height:44px;width:146px}.compact span{height:36px;font-size:14px}
 .calendar-line{gap:10px 16px;flex-wrap:wrap;margin-bottom:10px}
 .date-row{display:grid;grid-template-columns:minmax(0,1.25fr) repeat(2,minmax(0,1fr));gap:10px;margin-bottom:25px}
 .date-row label{min-width:0}.date-row input{padding-left:12px!important;padding-right:27px!important;font-variant-numeric:tabular-nums}
 .unit{font-size:13px;right:10px;top:24px}
 .form-row.time-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:20px 15px}
 .time-row>.city-field{grid-column:1/-1}.time-row>.unknown-label{min-height:52px;padding:0;font-size:14px;justify-content:center}
 .check-label{min-height:44px;font-size:14px;gap:10px}.check-label input{width:18px;height:18px;flex-shrink:0;margin:0}
 .advanced{margin:20px 0;padding:0}.advanced>summary{min-height:62px;padding:15px 0;font-size:14px;line-height:1.8}
 .advanced summary>span{font-size:12px;margin-left:5px}.advanced[open] summary{margin-bottom:15px}
 .field-note{font-size:13px;line-height:1.95;overflow-wrap:anywhere}
 .form-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px}.form-actions .button{width:100%;font-size:16px;min-height:54px}
 .form-actions .text-button{min-height:46px;font-size:14px}.form-error{font-size:14px;line-height:1.8}
 .report-heading{display:block;margin-bottom:24px}.report-heading h2{font-size:30px;overflow-wrap:anywhere}.report-heading p{font-size:13px;line-height:1.9;overflow-wrap:anywhere}
 .report-tools{display:grid;grid-template-columns:1fr 1fr 1.8fr;gap:8px;margin-top:20px;align-items:stretch}
 .report-tools .text-button{min-height:46px;font-size:13px}.report-tools .button{min-height:46px;padding:8px 9px;font-size:12px;border-radius:6px}
 .report-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0;top:0;align-items:stretch;margin-bottom:28px}
 .report-nav a{font-size:12px;line-height:1.5;min-height:54px;padding:10px 5px;text-align:center;display:flex;justify-content:center;align-items:center;overflow-wrap:anywhere}
 .report-nav a:active{background:#e5ebe1}.report-section,.monthly-section{scroll-margin-top:72px}
 .report-section{padding:12px 0 30px}.report-section h3{font-size:25px;line-height:1.6}
 .plain-overview-grid,.annual-reading-grid,.month-reading-grid,.analysis-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
 .plain-lead,.plain-overview-grid p,.annual-reading-heading p,.annual-reading-grid p,.month-opening,.month-reading-grid p,.month-action,.analysis-block p,.interpretation p{font-size:16px;line-height:2;max-width:none}
 .plain-overview-grid{margin-top:24px}.plain-overview-grid article{padding:15px 0 6px}.plain-overview-grid h4{font-size:21px;margin-bottom:10px}
 .reading-boundary{font-size:13px;line-height:1.95}.plain-overview{padding-bottom:25px}
 .cycle-details>summary{font-size:14px;min-height:44px;padding-block:9px}.cycle-details .section-note{font-size:13px;margin:14px 0 0}
 .annual-controls{display:grid;grid-template-columns:minmax(0,1fr);row-gap:18px;margin-top:26px}.annual-controls h4{font-size:22px;width:auto;line-height:1.5}
 .quick-years{display:grid;grid-template-columns:1fr 1fr;margin:0;gap:10px}.quick-years button{font-size:14px;min-height:46px;padding:10px}
 .year-switch{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:12px}.year-switch button{width:44px;height:44px;font-size:22px}
 .year-switch select{width:100%;min-height:46px;margin:0;text-align:center;font-size:16px;padding:8px 12px}
 .annual-reading-heading{margin-top:26px;padding-top:25px}.annual-reading-heading>span{font-size:13px}
 .annual-reading-heading h4{font-size:27px;line-height:1.6;margin-bottom:14px;text-wrap:balance}.annual-reading-grid article{padding:25px 0 15px}
 .annual-reading-grid h4{font-size:24px}.basis{padding:10px 0}.basis summary{min-height:44px;display:list-item;align-content:center;font-size:13px;line-height:1.8;padding:9px 0}
 .basis p,.basis ul{font-size:14px;line-height:1.95;overflow-wrap:anywhere}
 .monthly-section{padding-top:38px}.monthly-title h4{font-size:25px;line-height:1.6}.monthly-title p{font-size:14px;line-height:1.95}
 .monthly-reading>summary{gap:12px;padding:22px 0;min-height:90px;align-items:flex-start}
 .month-number{font-size:26px;min-width:28px;line-height:1.5}.month-title{min-width:0}.month-title strong{font-size:16px;line-height:1.8}
 .month-title small{font-size:12px;line-height:1.8;overflow-wrap:anywhere}.month-expand{font-size:12px;min-width:48px;line-height:2.2;margin-top:2px;text-align:right;white-space:nowrap}
 .month-body{padding:0 0 26px}.month-reading-grid h5{font-size:21px;margin-top:25px}.month-action{padding-top:20px}
 .professional-details>summary{min-height:58px;gap:16px}.professional-details>summary span{font-size:21px;line-height:1.6}.professional-details>summary small{display:none}
 .pillar{padding:18px 4px}.pillar-label,.pillar-god{font-size:12px}.pillar-characters{font-size:clamp(25px,7.4vw,34px);letter-spacing:0;white-space:nowrap}
 .pillar-extra{font-size:11px;line-height:2;overflow-wrap:anywhere}.analysis-block h4{font-size:22px}
 .element-bars{gap:12px}.element-column{font-size:13px}.bar-fill{width:26px}.element-count{margin-left:3px}
 .reading-list strong{font-size:15px}.reading-list small{font-size:12px}.reading-list p{font-size:15px;line-height:1.95}
 .candidate-list{grid-template-columns:repeat(3,minmax(0,1fr))}.candidate-list>div{padding:12px 5px;font-size:12px}
 .rule-table{table-layout:fixed;width:100%;font-size:13px}.rule-table th{width:92px}.rule-table th,.rule-table td{padding:12px 6px;overflow-wrap:anywhere}
 .report-ending{font-size:13px;line-height:1.95}.site-footer{padding:28px 0 max(28px,env(safe-area-inset-bottom));gap:16px 20px}.site-footer p,.site-footer>span{font-size:12px}
 dialog{width:calc(100% - 32px);max-width:560px;padding:42px 24px 28px;max-height:82svh;border-radius:12px}
 dialog h2{font-size:27px}dialog p,dialog a{font-size:16px;line-height:1.95}.dialog-close{width:44px;height:44px;top:5px;right:5px;font-size:30px}
 .history-item{gap:12px}.history-load{min-height:54px}.history-load strong{font-size:16px;overflow-wrap:anywhere}.history-load span{font-size:13px}
 .history-delete{min-height:44px;min-width:48px;font-size:14px}.toast{width:max-content;max-width:calc(100% - 36px);bottom:max(24px,env(safe-area-inset-bottom));font-size:14px;text-align:center}
}
@media screen and (max-width:360px){
 .section-wrap{width:calc(100% - 32px)}.hero-content{padding-inline:22px}.hero h1{font-size:44px}.hero-subtitle{font-size:18px;max-width:15em}
 .hero-actions{gap:17px}.hero-actions .button{padding-inline:22px;gap:20px}.hero-caption{font-size:11px}
 .calendar-line{gap:9px}.compact{width:138px}.advanced summary>span{display:block;margin-left:14px}
 .month-expand{min-width:26px;width:26px;white-space:normal;line-height:1.6}.monthly-reading>summary{gap:9px}
 .report-tools{grid-template-columns:1fr 1fr 1.7fr;gap:5px}.report-tools .button{font-size:11px;padding-inline:6px}
 .hero-bottom{left:22px;right:22px}
}
@media screen and (max-width:760px) and (max-height:550px) and (orientation:landscape){
 .hero{min-height:620px;max-height:none}.hero-content{top:115px}.hero h1{font-size:46px}.hero h1 span{display:inline}.hero-subtitle{max-width:none}.landscape{background-size:auto 85%}
}
@media (prefers-reduced-motion:reduce){.mist{animation:none}.landscape{transform:none!important}}
