/* Shared tools and compact, accessible guide layouts. */
:root { color-scheme:light; }
body { background:#f5f1e8; color:#2a2420; }
.f-header { gap:24px; }
.f-header .site-name { font-size:10px; line-height:1.6; letter-spacing:.06em; }
.f-header .site-nav { gap:17px; }
.f-header .site-link { font-size:11px; }
.f-menu { display:none; }
.f-hero { max-width:1120px; margin:auto; padding:52px 42px 38px; display:grid; grid-template-columns:1.5fr 1fr; gap:60px; align-items:center; }
.f-hero h1 { font-family:Archivo,sans-serif; font-stretch:condensed; font-size:clamp(38px,5vw,62px); line-height:1.05; margin:12px 0 20px; letter-spacing:-.025em; }
.f-hero p { max-width:600px; line-height:1.6; }
.f-hero-note { background:#e7e9df; border-radius:4px 70px 4px 4px; padding:26px 32px; }
.f-hero-note p { font-size:23px; line-height:1.4; font-family:Archivo,sans-serif; }
.f-leaf { font-size:42px; color:#52634c; }
.f-hero-note small { font-size:13px; }
.f-section { margin:34px 0; }
.f-first { margin-top:0; }
.f-section h2,.f-panel h2 { font-size:27px; margin:0 0 14px; }
.f-tasks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.f-task { display:block; position:relative; text-decoration:none; background:#fffdf8; padding:22px; border:1px solid #d6cec0; color:#2a2420; transition:background .15s; }
.f-task:hover,.f-topic:hover { background:#f3e6db; }
.f-task h3,.f-task h2 { font-size:22px; margin:8px 0; }
.f-task p { font-size:14px; line-height:1.6; margin:0; max-width:90%; }
.f-task>span:last-child:not(.sec-k) { position:absolute; right:18px; top:20px; font-size:22px; }
.f-topics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:20px 0; }
.f-topic { display:flex; flex-direction:column; justify-content:space-between; gap:12px; padding:20px; border:1px solid #c9c5b7; text-decoration:none; background:#fffcf6; color:#2a2420; }
.f-topic>span { font-size:17px; font-weight:600; }
.f-topic small { color:#73513c; font-size:12px; }
.f-symptom-links { display:flex; flex-wrap:wrap; gap:8px; }
.f-panel { background:#eee8de; border:1px solid #d7cfc3; padding:24px; margin:26px 0; }
.f-panel p { line-height:1.65; }
.f-panel .btn { margin:5px 6px 5px 0; }
.f-panel>summary { font-weight:600; cursor:pointer; padding:8px 0; }
.f-care-link { background:#edf0e7; border-left:3px solid #56674e; padding:16px 18px; margin:20px 0; line-height:1.6; display:flex; flex-wrap:wrap; gap:5px 12px; }
.f-care-link strong { font-size:14px; }
.f-text-link { color:#774529; text-decoration:underline; text-underline-offset:3px; line-height:1.6; }
.f-urgent { background:#f7e4d9; border-color:#cda28d; }
.f-storage-strip { display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; border-bottom:1px solid #c9c5b7; padding:12px 0; margin:14px 0 22px; font-size:13px; }
.f-review { font-size:12px; line-height:1.7; color:#60584f; margin:28px 0; border-top:1px solid #c9c5b7; padding-top:16px; }
.f-review a { white-space:nowrap; }
.f-form-grid,.f-quick-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.f-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.f-choice { display:flex; align-items:flex-start; gap:12px; background:#fffcf6; border:1px solid #d4cdc1; padding:14px; margin:8px 0; min-height:48px; cursor:pointer; font-size:15px; }
.f-choice:has(input:checked) { background:#e9edde; border-color:#63744f; }
.f-choice input { width:19px; height:19px; flex:0 0 auto; margin-top:2px; accent-color:#59664b; }
.f-choice small { display:block; margin-top:5px; font-size:12px; color:#73513c; }
fieldset { border:0; padding:0; margin:25px 0; min-width:0; }
legend { font-weight:600; margin-bottom:10px; font-size:17px; }
legend .fineprint { display:block; margin-top:5px; }
.field { display:flex; flex-direction:column; gap:8px; margin:18px 0; line-height:1.5; }
.field textarea,.field input,.field select { width:100%; max-width:100%; border:1px solid #aaa294; background:#fffefb; color:#2a2420; border-radius:3px; padding:12px; font:inherit; box-sizing:border-box; min-height:46px; }
.field textarea { resize:vertical; }
.f-quick { padding:22px; background:#fffdf7; border-top:3px solid #b1bd9b; }
.f-quick h3 { font-size:22px; margin:0 0 12px; }
.f-quick h4 { font-size:14px; margin:18px 0 7px; }
.f-quick p { font-size:14px; line-height:1.65; }
.f-evidence { color:#565e48; font-size:13px!important; }
.f-approach { background:#fffdf8; border:1px solid #d8d1c5; margin:16px 0; padding:20px; }
.f-approach>h3 { margin:0 0 10px; font-size:23px; }
.f-approach>p { line-height:1.65; }
.f-approach .ivw { border:0; margin:0; }
.f-approach .ivw>summary { padding:15px 0; cursor:pointer; color:#774529; font-weight:600; }
.f-entry { background:#fffdf8; border:1px solid #d8d1c5; padding:20px; margin:14px 0; }
.f-entry h3 { font-size:18px; margin:0 0 12px; }
.f-entry summary { cursor:pointer; padding:8px 0; }
.f-entry pre,.f-export pre { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; font-size:14px; line-height:1.7; }
.f-message { border-left:3px solid #567344; background:#edf2e6; padding:14px; line-height:1.6; }
.f-error { border-left:3px solid #a63f29; background:#f9e6df; padding:14px; line-height:1.6; }
.site-f-in { grid-template-columns:repeat(2,minmax(0,1fr)); }
[hidden] { display:none!important; }
:focus-visible { outline:3px solid #586b9d; outline-offset:4px; }
summary:focus-visible { outline-offset:2px; }
.btn,.mini { min-height:44px; }
.f-skip { position:fixed; top:-100px; left:10px; z-index:200; background:white; color:#2a2420; padding:16px; }
.f-skip:focus { top:10px; }
@media(max-width:760px){
 .f-header { flex-wrap:wrap; padding:14px 20px; }
 .f-header .site-brand { margin:0; }
 .f-menu { display:block; margin-left:auto; background:transparent; color:#fff7ec; border:1px solid #bcad9c; padding:10px 14px; min-height:44px; }
 .f-header .site-nav { display:none; flex-basis:100%; flex-wrap:wrap; gap:0; padding-top:12px; }
 .f-header .site-nav.f-open { display:flex; }
 .f-header .site-link { padding:14px; width:50%; box-sizing:border-box; }
 .f-hero { padding:32px 24px 22px; grid-template-columns:1fr; gap:16px; }
 .f-hero h1 { font-size:43px; }
 .f-hero-note { padding:16px 22px; border-radius:3px 32px 3px 3px; }
 .f-hero-note p { font-size:18px; margin:4px 0 12px; }
 .f-leaf { display:none; }
 .f-quick-grid,.f-form-grid { grid-template-columns:1fr; gap:0; }
 .f-panel { padding:20px; }
 .f-choice-grid { grid-template-columns:1fr; gap:0; }
 .f-tasks,.f-topics { gap:10px; }
 .f-task,.f-topic { padding:17px; }
 .f-task h3,.f-task h2 { font-size:19px; }
 .f-task p { font-size:13px; }
 .f-task>span:last-child:not(.sec-k) { display:none; }
}
@media(max-width:430px){.f-topics{grid-template-columns:1fr}.f-tasks{grid-template-columns:1fr}.f-task{padding:18px}.f-task h3{font-size:22px}.site-f-in{grid-template-columns:1fr}.page-actions{align-items:stretch}.page-actions .btn{width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{
 .f-header,.f-menu,.f-storage-strip,.f-care-link,.site-f,.f-review,.page-actions,.f-skip{display:none!important}
 body{background:white!important;color:black!important}.f-panel,.f-entry{background:white!important;break-inside:avoid}
 .f-print-summary #stage>:not(#f-appointment-preview){display:none!important}
 .f-print-summary #stage>#f-appointment-preview{display:block!important;border:0;padding:0;margin:0}
 .f-print-summary #f-appointment-preview .page-actions{display:none!important}
}

@media(max-width:760px){
 .f-header .site-name{display:block;font-size:9px;line-height:1.3;max-width:85px}
 .f-hero{padding:26px 24px 16px;gap:0}
 .f-hero h1{font-size:38px;margin:8px 0 16px}
 .f-hero-note{background:transparent;padding:8px 0 0}
 .f-hero-note p{display:none}
 .f-hero-note small{font-size:12px}
 .f-first{margin-top:0}
}
@media screen and (prefers-color-scheme:dark){
 body{background:#1c1815;color:#f2ece4}
 .f-hero-note,.f-panel{background:#2b2521;color:#f2ece4;border-color:#4a413a}
 .f-task,.f-topic,.f-choice,.f-quick,.f-approach,.f-entry{background:#241f1b;color:#f2ece4;border-color:#4a413a}
 .f-task:hover,.f-topic:hover{background:#3a2c24}
 .f-choice:has(input:checked),.f-care-link{background:#253026;color:#f2ece4}
 .f-urgent{background:#3b2921}
 .f-text-link,.f-topic small,.f-approach .ivw>summary{color:#f0a98f}
 .f-evidence{color:#b9cba4}.f-review{color:#c6bcb1}
 .field textarea,.field input,.field select{background:#241f1b;color:#f2ece4;border-color:#74695f}
 .f-message{background:#253026;color:#f2ece4}.f-error{background:#3b2921;color:#f2ece4}
}
