/* Comfortable phone reading; desktop and printed reports keep their own layout. */
body{font-size:17px;line-height:1.9}
textarea,input[type=search],input[type=text],.setup-form textarea,.library-tools input{font-size:18px;line-height:1.7;padding:14px}
.button,.hero-buttons .button,.daily-copy .button,.ritual-actions .button,.result-actions .button,.result-bottom .button,.journal-pagination .button{font-size:16px;line-height:1.6;min-height:48px;padding:13px 18px;letter-spacing:.4px;white-space:normal}
.text-link,.hero-buttons .text-link,.back-link,.archive-actions .text-link,.journal-info .text-link{font-size:15px;line-height:1.7;min-height:44px;align-items:center;letter-spacing:.3px}
.pill,.library-filters .pill{font-size:15px;line-height:1.6;min-height:44px;padding:9px 15px}
.eyebrow,.hero .eyebrow,.daily-copy .eyebrow,.ritual-title .eyebrow,.reading-section-heading .eyebrow,.next-step-section>.eyebrow,.synthesis-panel>.eyebrow,.resume-banner .eyebrow{font-size:11px;line-height:1.8;letter-spacing:1.8px}
.site-header nav a{font-size:14px;letter-spacing:0;min-height:48px}
.site-header nav{gap:14px}
.hero-copy,.section-header p,.spread p,.daily-copy p,.teaser-copy p,.philosophy p,.setup-copy p,.spread-info,.empty-state p{font-size:17px;line-height:1.9}
.hero-copy{max-width:32em}
.section-header p{max-width:36em}
.hero-buttons{flex-wrap:wrap;gap:16px}
.hero-bottom{font-size:11px;letter-spacing:.3px;flex-wrap:wrap;gap:6px}
.hero-bottom span:last-child{font-size:10px;letter-spacing:.8px}
.intro-strip p,.stat span{font-size:14px;line-height:1.7;letter-spacing:0}
.stat{gap:9px}
.spread{min-height:330px;padding:22px 20px 42px}
.spread h3{font-size:23px;line-height:1.6}
.spread p{max-width:none;margin-bottom:0}
.spread-tag{font-size:12px;line-height:1.6;letter-spacing:0;padding:3px 7px}
.spread-arrow{bottom:13px}
.daily-copy p{max-width:32em}
.daily-date{font-size:19px;line-height:1.7}
.teaser-copy .text-link{margin-top:8px}
.philosophy h2{font-size:25px;line-height:1.7}
.site-footer p{font-size:14px;line-height:1.9;text-align:center;letter-spacing:0}
.setup-layout{grid-template-columns:1fr;gap:24px;max-width:650px}
.setup-copy p{max-width:35em}
.setup-form{padding:28px}
.field-label,.toggle-row b,.result-journal .field-label{font-size:16px;line-height:1.8;letter-spacing:.3px}
.optional,.field-help,.toggle-row small,.form-note,.option-help{font-size:14px;line-height:1.8}
.field-help{gap:12px;flex-wrap:wrap}
.context-feedback strong{font-size:15px;line-height:1.8}
.context-feedback p{font-size:14px;line-height:1.8}
.context-feedback{padding:17px 15px}
.option-fields{gap:18px}
.toggle-row{gap:18px;align-items:center}
.toggle-row>div{min-width:0}
.toggle{flex-shrink:0}
.view-top{flex-wrap:wrap;gap:12px;margin-bottom:28px}
.stepper{font-size:13px;gap:12px;line-height:1.7;letter-spacing:0;flex-wrap:wrap}
.stepper span{gap:6px}
.stepper b{font-size:19px}
.ritual-title p,.ritual-hint{font-size:16px;line-height:1.9}
.ritual-hint{max-width:32em}
.ritual-title h1{font-size:29px;line-height:1.6;letter-spacing:1px}
.slot b{font-size:14px;line-height:1.7}
.slot small{font-size:12px;line-height:1.6;letter-spacing:.5px}
.selected-slots{align-items:flex-start}
.ritual-actions{flex-wrap:wrap;gap:12px;margin-top:24px}
.result-top h1{font-size:30px;line-height:1.65;letter-spacing:1px}
.question-quote{font-size:18px;line-height:1.9}
.result-context,.reading-context,.reading-context details p{font-size:14px;line-height:1.8}
.reading-context{gap:12px}
.reading-context>span{white-space:normal;padding:6px 13px}
.reading-context summary{min-height:44px;padding:10px 0}
.result-overview{gap:16px;max-width:620px;margin-bottom:30px}
.overview-card{min-width:0;max-width:175px;padding:8px 2px;overflow-wrap:anywhere}
.overview-card small,.overview-card>span{font-size:14px;line-height:1.65;letter-spacing:0}
.overview-card strong{font-size:19px;line-height:1.7;letter-spacing:0}
.overview-art{width:76px}
.synthesis-panel{padding:32px 28px}
.synthesis-panel h2{font-size:27px;line-height:1.7;letter-spacing:.4px}
.synthesis-lead{font-size:18px;line-height:1.9;letter-spacing:0}
.reading-flow{grid-template-columns:1fr;gap:0}
.reading-flow>div{grid-template-columns:30px minmax(0,1fr);gap:8px 12px;padding:22px 0}
.reading-flow h3,.tension-note h3{font-size:21px;line-height:1.7}
.reading-flow p,.tension-note p{font-size:17px;line-height:1.9}
.synthesis-reflection{font-size:17px;line-height:1.9;padding-left:0;margin-top:25px}
.tension-note{gap:14px}
.reading-section-heading h2{font-size:27px;line-height:1.7}
.reading-section-heading p{font-size:16px;line-height:1.9}
.result-cards,.result-cards.single{grid-template-columns:1fr;max-width:650px;gap:36px}
.result-card,.result-cards.single .result-card{display:grid;grid-template-columns:1fr;gap:18px;padding-top:24px}
.result-art,.result-cards.single .result-art{width:175px;margin:8px auto 14px}
.result-cards.single .result-copy{padding:0}
.result-copy{min-width:0}
.position-label{font-size:15px;line-height:1.7;letter-spacing:.4px}
.position-label span{font-size:18px}
.card-name{gap:12px;flex-wrap:wrap}
.card-name h2{font-size:28px;line-height:1.6}
.orientation{font-size:14px;line-height:1.6;padding:3px 9px}
.card-english{font-size:19px;line-height:1.6}
.keywords{gap:12px;flex-wrap:wrap}
.keywords span{font-size:14px;line-height:1.8}
.position-reading{font-size:17px;line-height:1.9;padding-bottom:18px;margin-top:20px}
.meaning,.contextual-meaning{font-size:18px;line-height:1.95}
.reflection p{font-size:17px;line-height:1.9}
.reflection small{font-size:14px;line-height:1.8}
.action-note{font-size:17px;line-height:1.9}
.base-meaning{font-size:15px;line-height:1.8}
.base-meaning summary{min-height:48px;padding:14px 0}
.base-meaning p{font-size:17px;line-height:1.9}
.result-card .back-link{font-size:15px}
.next-step-section>h2{font-size:27px;line-height:1.7}
.next-step-section>p{font-size:16px;line-height:1.9}
.step-choice{padding:24px 20px;gap:17px}
.step-choice h3{font-size:22px;line-height:1.6}
.step-choice p{font-size:17px;line-height:1.9}
.result-journal{padding:28px 24px}
.result-journal h3{font-size:25px;line-height:1.7}
.result-journal p{font-size:17px;line-height:1.9}
.result-journal textarea{min-height:150px}
.result-actions{gap:14px}
.result-actions .saved-note{width:100%;font-size:14px;line-height:1.8}
.followup-area summary{font-size:16px;line-height:1.8;padding:17px 0}
.result-bottom{flex-wrap:wrap;gap:14px}
.library-header p{font-size:17px;line-height:1.9}
.library-tools{gap:20px}
.library-tools label{width:100%;max-width:100%!important}
.library-filters{gap:10px;flex-wrap:wrap}
.gallery-card h3{font-size:18px;line-height:1.7;letter-spacing:0}
.gallery-card small{font-size:15px;line-height:1.6}
.dialog-layout{grid-template-columns:1fr;padding:38px 28px 28px;gap:24px}
.dialog-art{width:175px;margin:auto}
.dialog-copy h2{font-size:29px;line-height:1.6}
.dialog-tabs{gap:30px}
.dialog-tabs button{font-size:16px;line-height:1.8;min-height:48px;padding:10px 0}
.dialog-copy .meaning{font-size:18px;line-height:1.95;min-height:0}
.dialog-copy .reflection p,.dialog-copy .action-note{font-size:17px;line-height:1.9}
.dialog-copy .reflection small{font-size:14px}
.dialog-close{font-size:32px;width:48px;height:48px;top:4px;right:4px}
.journal-info{font-size:15px;line-height:1.8;align-items:flex-start;flex-wrap:wrap}
.archive-actions{flex-wrap:wrap;gap:8px 22px;white-space:normal}
.journal-list{grid-template-columns:1fr}
.journal-entry{grid-template-columns:64px minmax(0,1fr);gap:20px;padding:24px}
.journal-thumb{width:64px}
.journal-entry>div{min-width:0}
.journal-entry h2{font-size:21px;line-height:1.7;margin-bottom:12px}
.entry-meta,.draft-entry .entry-meta{font-size:14px;line-height:1.8}
.entry-cards{font-size:15px;line-height:1.8}
.entry-note,.entry-insight{font-size:17px;line-height:1.9}
.entry-note,.entry-cards,.entry-insight,.draft-entry h3,.resume-banner p{overflow-wrap:anywhere}
.entry-actions,.delete-confirm{font-size:15px;line-height:1.8;flex-wrap:wrap;white-space:normal}
.entry-actions button,.delete-confirm button{font-size:15px;min-height:48px;line-height:1.8;padding:11px 4px}
.draft-section{padding:26px 22px}
.draft-section-title,.journal-section-title{align-items:flex-start}
.draft-section-title h2,.journal-section-title h2{font-size:24px;line-height:1.7}
.draft-section-title>span,.journal-section-title>span{font-size:14px;line-height:1.8}
.draft-entry{gap:12px;flex-wrap:wrap}
.draft-entry h3{font-size:19px;line-height:1.8}
.draft-entry .entry-actions{max-width:none}
.resume-banner{flex-wrap:wrap;padding:27px 24px}
.resume-banner h2{font-size:26px;line-height:1.7}
.resume-banner p{font-size:16px;line-height:1.8}
.resume-banner .button{white-space:normal}
.journal-pagination{flex-wrap:wrap;gap:16px}
.empty-state h2{font-size:25px;line-height:1.7}
.toast{font-size:15px;line-height:1.8;width:max-content;max-width:90%;padding:14px 20px}

@media(max-width:580px){
  .site-header{padding:0 5%;gap:10px}
  .site-header nav{gap:12px}
  .site-header nav a{font-size:14px}
  .hero{padding-left:6%;padding-right:6%;padding-bottom:80px}
  .hero-copy{max-width:320px}
  .hero-buttons{flex-wrap:wrap;gap:12px 18px}
  .hero .eyebrow{letter-spacing:1.2px;gap:8px}
  .hero-bottom{left:6%;right:6%;justify-content:center}
  .hero-bottom span:last-child{display:none}
  .intro-strip{flex-wrap:wrap;gap:18px}
  .stat{flex:1 1 80px;min-width:0}
  .stat b{font-size:32px}
  .stat span{font-size:14px}
  .section,.view{padding-left:6%;padding-right:6%}
  .spread{min-height:360px;padding:18px 14px 42px}
  .spread-top{gap:6px;flex-wrap:wrap}
  .spread h3{font-size:22px}
  .spread p{font-size:16px;line-height:1.85}
  .spread-art{margin-bottom:18px}
  .home-daily{grid-template-columns:1fr;margin-left:6%;margin-right:6%;padding:35px 26px;gap:24px}
  .daily-visual{min-height:190px}
  .daily-visual .card-back{width:110px}
  .daily-visual:before{width:190px;height:190px}
  .daily-visual:after{right:15%;top:0}
  .daily-copy h2{font-size:29px;line-height:1.7}
  .daily-copy p{font-size:17px}
  .daily-copy .button{margin-top:18px}
  .library-teaser{padding-left:6%;padding-right:6%}
  .teaser-copy h2{font-size:29px}
  .philosophy{padding:34px 6%}
  .philosophy h2{font-size:25px}
  .site-footer{padding-left:6%;padding-right:6%}
  .setup-form{padding:25px 20px}
  .option-fields{grid-template-columns:1fr}
  .view-top{align-items:flex-start;flex-direction:column;gap:14px}
  .stepper{width:100%;justify-content:space-between;gap:8px;font-size:13px}
  .stepper span{gap:5px}
  .result-top h1{font-size:29px}
  .reading-context{max-width:none}
  .result-overview{gap:12px}
  .overview-card{max-width:110px}
  .overview-art{width:68px}
  .overview-card strong{font-size:18px}
  .overview-card small{font-size:14px}
  .synthesis-panel{padding:29px 22px}
  .synthesis-panel h2{font-size:26px}
  .synthesis-panel>.eyebrow{font-size:11px;letter-spacing:1.1px;gap:8px}
  .reading-section-heading h2,.next-step-section>h2{font-size:26px}
  .result-journal{padding:25px 20px}
  .result-actions .button{flex:1 1 auto}
  .result-bottom .button{width:100%;justify-content:center}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}
  .gallery-card h3{font-size:19px;margin-top:14px}
  .journal-entry{grid-template-columns:48px minmax(0,1fr);gap:15px;padding:22px 16px}
  .journal-thumb{width:48px}
  .draft-section{padding:24px 18px}
  .dialog-layout{padding:38px 22px 26px}
  .dialog-tabs{gap:26px}
}
