/* Shared, readable controls. Decorative direction arrows are intentionally absent. */
.primary-button{min-height:56px;padding:15px 20px;border:1px solid #344d40;border-radius:12px;background:#344d40;color:#fffdf8;font-size:16px;font-weight:700;line-height:1.55;letter-spacing:-.3px;box-shadow:0 4px 0 #253d3120;gap:10px;word-break:keep-all}
.primary-button:hover{background:#284333;transform:none;box-shadow:0 5px 14px #344d4020}
.primary-button:active{transform:translateY(1px);box-shadow:none}
.secondary-button{min-height:50px;padding:12px 18px;border:1px solid #9cae99;border-radius:11px;background:#fffdf7;color:#364e3c;font-size:15px;font-weight:700;line-height:1.6}
.text-button,.sample-button{min-height:44px;font-size:14px;font-weight:600;line-height:1.6;color:#485b45;padding:10px 12px;border-radius:9px}
.text-button:hover,.sample-button:hover{background:#eeeee4;text-decoration:none}
.sample-button{width:100%;margin-top:12px;border:1px solid #deded0;background:#f6f4ed;color:#506149}
.context-bottom{gap:10px;flex-wrap:wrap}.context-bottom .text-button{font-size:14px}
.share-actions .primary-button,.share-actions .secondary-button{min-height:52px;font-size:15px}
.today-message .text-button{font-size:14px;padding:10px 15px;border:1px solid #aebc9e;background:#fffef7;color:#3d5438}
.relationship-field legend,.topic-field legend{font-size:16px;font-weight:700;margin-bottom:13px;color:#344c39}
.relationship-grid{gap:10px}.relationship-grid button{min-height:103px;padding:18px 10px;border:1px solid #cbd1c1;border-radius:13px;background:#fffdf7;color:#344537;line-height:1.5;transition:background .18s,border-color .18s}
.relationship-grid button>.relationship-name{display:block;font-family:var(--sans);font-size:18px;line-height:1.4;font-weight:700;color:#344537;margin:0}
.relationship-grid small{margin-top:7px;font-size:15px;font-weight:500;line-height:1.5;color:#59634f;word-break:keep-all}
.relationship-grid button.selected{border:2px solid #8e654e;padding:17px 9px;background:#f6e5d5;box-shadow:0 2px 7px #7d563015}
.relationship-grid button.selected>.relationship-name{color:#593f30}.relationship-grid button.selected small{color:#684d38}
.topic-chips{gap:9px}.topic-chips button{min-height:46px;padding:10px 15px;font-size:15px;font-weight:600;color:#46573f;border-color:#b9c4ab;background:#fffdf7}.topic-chips button.selected{color:#2f4935;background:#e2ead7;border-color:#7f936b}
.birth-time-block .time-heading{font-size:16px;font-weight:700;color:#344c39}.time-heading small{font-size:12px;color:#66715d}
.time-mode-choice{gap:8px}.time-mode-choice button{min-height:68px;padding:11px 5px;font-size:16px;font-weight:600;line-height:1.4;white-space:normal;word-break:keep-all;color:#40503b;border:1px solid #aebaa1;border-radius:11px;background:#fffdf7}
.time-mode-choice button.selected{color:#fffdf7;background:#40583f;border-color:#40583f;font-weight:700;box-shadow:0 2px 6px #30452b18}
.date-calendar.birth-input-group{padding:16px;border:1px solid #d6d9cc;background:#f6f5ee;border-radius:13px}
.birth-date-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;color:#3d503a;font-size:15px;font-weight:700}
.birth-calendar{display:block;flex:none}.birth-calendar select{width:99px;min-height:44px;border:1px solid #b9c3ab;border-radius:9px;background:#fffdf7;color:#344c39;padding:8px 10px;font:600 16px var(--sans)}
.birth-parts{gap:8px}.birth-parts label{font-size:14px}.birth-hint{font-size:12px;color:#5e6c55}.birth-summary{font-size:13px;color:#5d6d52}
.form-description,.input-note{color:#5f6d56}.input-note{font-size:12px;line-height:1.85}
.guide-link{display:inline-flex;min-height:38px;padding:8px 12px;border:1px solid #cbd0bd;border-radius:8px;background:#f1f0e7;color:#526147;font-size:13px;font-weight:600;max-width:none}
.season-entry>a:link,.season-entry>a:visited{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border:1px solid #c5b6a0;border-radius:10px;background:#fffbf2;color:#6a4e35;font-size:14px;font-weight:700}
.ai-reading-panel .ai-consent{gap:11px;padding:14px;border:1px solid #c5ccb6;border-radius:10px;background:#fffdf6;font-size:15px;line-height:1.7;color:#3c5037;font-weight:600}
.ai-consent input{width:22px;height:22px;margin-top:2px;accent-color:#40583f}
.ai-consent-copy{display:block}.ai-consent-copy small{display:block;margin-top:3px;color:#59684d;font-size:12px;font-weight:400;line-height:1.7}
.ai-reading-panel .ai-action-row .primary-button{width:100%;min-height:56px;font-size:16px;padding:15px 18px}
.ai-reading-panel .ai-transfer-note{font-size:13px;color:#4f6145}.ai-transfer-note summary{min-height:44px;padding:10px 0;font-size:14px}.ai-reading-panel .ai-status{font-size:13px;color:#536747}
.exam-role button,.exam-worries button{min-height:54px;font-size:15px;font-weight:600;color:#4c5e43;border-color:#bfc9b0}.exam-role button.selected,.exam-worries button.selected{color:#624630;background:#f6e5d5;border-color:#ad8663}
.exam-action{flex-wrap:wrap}.exam-action .text-button{font-size:14px}
@media(max-width:760px){
 .experience-card{padding:25px 19px 22px}
 .primary-button{font-size:16px;min-height:56px}
 .share-actions{flex-wrap:wrap}.share-actions .primary-button,.share-actions .secondary-button{width:100%;font-size:15px}
 .today-message .text-button{margin-left:0;width:100%}
 .relationship-grid button{min-height:108px}.relationship-grid small{font-size:15px}
 .birth-calendar select{width:91px}.birth-parts{grid-template-columns:1.25fr 1fr 1fr;gap:6px}
 .birth-parts input,.birth-parts .birth-choice-trigger{padding-left:7px;padding-right:7px;font-size:16px}
 .date-calendar.birth-input-group{padding:13px 10px}.birth-date-header{margin-bottom:13px}
 .ai-reading-panel{padding:22px 16px}.ai-reading-panel .ai-consent{font-size:15px;padding:12px}
 .season-entry>a:link,.season-entry>a:visited{align-self:flex-start}
}
@media(max-width:350px){.experience-card{padding:22px 15px}.birth-parts{grid-template-columns:1.25fr 1fr 1fr;gap:5px}.birth-parts input,.birth-parts .birth-choice-trigger{padding:0 4px}.birth-choice-trigger:after{margin-left:2px;font-size:13px}.time-mode-choice{gap:6px}.relationship-grid{gap:8px}.context-bottom .text-button{font-size:13px;padding-left:7px;padding-right:7px}}
