:root{--key-sand:#eee6d7;--key-straw:#af7d35;--key-pale:#f5f5ed;--key-serif:Georgia,"Times New Roman",serif;--key-sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.key-page{max-width:1340px;margin:0 auto;padding:54px clamp(18px,4.6vw,64px) 74px}
.key-intro{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(230px,.85fr);gap:clamp(32px,6vw,82px);align-items:center;margin-bottom:30px}
.intro-copy h1{font-size:clamp(2.6rem,5.35vw,5.05rem);line-height:1.025;max-width:850px;color:var(--moss-dark);margin:0 0 24px;letter-spacing:-.025em}
.lead{max-width:760px;color:var(--muted);font-size:1.14rem;line-height:1.65;margin-bottom:22px}
.key-meta{font-family:var(--key-sans);font-size:.78rem;color:var(--moss-dark);letter-spacing:.025em;display:flex;flex-wrap:wrap;gap:8px 20px;min-height:1.5em;margin:0}
.key-meta span+span:before{content:"·";margin-right:20px;color:var(--key-straw)}
.field-note{border-top:3px solid var(--key-straw);border-bottom:1px solid #d6cab4;padding:20px 0 17px;transform:rotate(-1deg)}
.note-number{font-family:var(--key-sans);font-size:.7rem;letter-spacing:.13em;font-weight:700;color:#7b5927;display:block;margin-bottom:20px}
.field-note h2{font-size:1.65rem;line-height:1.12;margin-bottom:14px}
.field-note p{font-size:.94rem;line-height:1.65;color:var(--muted);margin-bottom:10px}
.field-note p:last-child{margin-bottom:0}
.scope-note{padding:14px 18px;border:1px solid #d8ceb9;background:#f6f1e6;border-radius:5px;margin:28px 0 40px;font-size:.95rem}
summary{cursor:pointer}
.scope-note summary{font-family:var(--key-sans);font-size:.84rem;font-weight:650;color:#644c2b}
.scope-note[open] summary{margin-bottom:12px}
.scope-note p:last-child{margin:0}
.workspace{border:1px solid #bdc9be;background:var(--panel);border-radius:8px;overflow:clip;scroll-margin-top:95px;box-shadow:0 6px 28px rgba(37,58,42,.035)}
.workspace-top{display:flex;align-items:center;justify-content:space-between;background:#f2f4ec;border-bottom:1px solid var(--line);gap:16px;padding:0 26px;font-family:var(--key-sans)}
.view-switch{gap:24px;flex-wrap:nowrap;margin:0;font-size:.85rem}
.view-switch a{display:block;padding:20px 0 17px;border-bottom:3px solid transparent;white-space:nowrap;color:#536155}
.view-switch a[aria-current="page"]{border-bottom-color:var(--moss);color:var(--moss-dark);font-weight:700}
.view-switch a:hover{color:var(--moss-dark);border-bottom-color:#acbca9}
#species-count{font-size:.7rem;background:#e4eade;border-radius:20px;display:inline-block;min-width:19px;text-align:center;padding:0 5px;margin-left:3px}
.glossary-shortcut{font-size:.75rem;white-space:nowrap;color:var(--muted);text-decoration:none}
.glossary-shortcut:hover{text-decoration:underline}
.view-panel{padding:26px clamp(20px,3.3vw,44px) 40px}
.load-message{padding:28px 32px;color:var(--muted)}
.load-message p:last-child{margin:0}
.key-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;font-family:var(--key-sans)}
.step-indicator{font-size:.76rem;text-transform:uppercase;letter-spacing:.075em;color:var(--moss);font-weight:700;margin:0}
.history-controls{display:flex;gap:10px}
button,input{font-family:var(--key-sans);font-size:inherit}
button{cursor:pointer}
button:disabled{cursor:default;opacity:.42}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #b67924;outline-offset:4px}
.quiet-button{padding:9px 10px;border:0;background:transparent;color:var(--moss-dark);font-size:.78rem;border-radius:4px;min-height:40px}
.quiet-button:hover:not(:disabled){background:#edf1e7}
.path-details{font-family:var(--key-sans);font-size:.8rem;color:var(--muted);margin:0 0 24px;padding:11px 14px;background:#f7f8f3;border-radius:4px}
.path-details summary{color:var(--moss-dark)}
.path-details ol{margin:14px 0 0;padding-left:23px}
.path-details li{padding:0 0 10px 5px}
.path-details li:last-child{padding-bottom:0}
.path-details button{border:0;background:none;padding:0;color:var(--moss-dark);font-size:.8rem;text-decoration:underline;text-align:left}
.path-details p{margin:3px 0 0;font-size:.78rem}
.question-heading{font-size:clamp(1.9rem,3vw,2.65rem);line-height:1.15;margin-bottom:13px;max-width:920px;scroll-margin-top:100px}
.question-heading:focus{outline:0}
.question-prompt{font-size:1.1rem;line-height:1.7;margin-bottom:14px;max-width:830px}
.question-help{color:var(--muted);max-width:830px;font-size:.94rem;margin-bottom:22px;line-height:1.65}
.question-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:25px}
.question-layout.has-illustration{grid-template-columns:minmax(0,1.1fr) minmax(230px,.9fr);align-items:start}
.choices{display:grid;gap:13px;align-content:start;margin:7px 0 3px;list-style:none;padding:0}
.choice-button{display:grid;grid-template-columns:28px minmax(0,1fr) 18px;gap:12px;align-items:start;width:100%;padding:19px 20px;text-align:left;background:#fafbf7;border:1px solid #c5d0be;border-radius:5px;color:var(--ink);min-height:82px;transition:background .16s,border-color .16s,transform .16s}
.choice-button:hover{background:#f0f4e8;border-color:var(--moss);transform:translateX(2px)}
.choice-letter{display:flex;width:26px;height:26px;align-items:center;justify-content:center;background:#e5ebdc;color:var(--moss-dark);font-size:.8rem;border-radius:50%;font-weight:700;margin-top:1px}
.choice-label{display:block;font-size:.98rem;font-weight:650;line-height:1.55}
.choice-detail{display:block;font-weight:400;line-height:1.65;font-size:.87rem;color:var(--muted);margin-top:6px}
.choice-arrow{color:var(--moss);padding-top:1px}
.key-illustration{margin:0;border:1px solid #e1decc;border-radius:5px;background:#fcfbf5;overflow:hidden}
.key-illustration a{display:block}
.key-illustration img{display:block;max-width:100%;width:100%;height:auto}
.key-illustration figcaption{padding:12px 17px 15px;border-top:1px solid #e7e1d4;color:var(--muted);font-size:.82rem;line-height:1.55;font-family:var(--key-sans)}
.source-links{font-family:var(--key-sans);font-size:.74rem;color:var(--muted);margin:22px 0 0;line-height:1.8;overflow-wrap:anywhere}
.source-links a{color:#365a43;text-underline-offset:2px}
.source-links .source-label{font-weight:650;margin-right:7px}
.uncertain-note{font-family:var(--key-sans);font-size:.8rem;color:var(--muted);border-top:1px solid var(--line);padding-top:17px;margin-top:27px;max-width:850px}
.uncertain-note summary{font-weight:650;color:var(--moss-dark)}
.uncertain-note p{margin:12px 0 0;line-height:1.7}
.result-label{font-family:var(--key-sans);font-size:.75rem;letter-spacing:.1em;font-weight:700;text-transform:uppercase;color:var(--moss);margin-bottom:10px}
.taxon-name{font-style:italic;color:var(--moss-dark)}
.taxon-result h2{font-size:clamp(2rem,4vw,3.2rem);margin-bottom:7px;line-height:1.15}
.taxon-common{font-size:1.04rem;color:var(--muted);margin-bottom:17px}
.taxon-summary{font-size:1.08rem;line-height:1.7;max-width:850px;margin-bottom:23px}
.taxon-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 36px;border-top:1px solid var(--line);padding-top:22px}
.taxon-facts h3,.taxon-traits h3{font-family:var(--key-sans);font-size:.75rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--moss-dark);margin-bottom:8px}
.taxon-facts p{font-size:.94rem;margin-bottom:0;line-height:1.65}
.taxon-traits{grid-column:1/-1}
.taxon-traits ul{padding-left:19px;margin:0;display:grid;gap:8px;font-size:.96rem}
.taxon-note{grid-column:1/-1;border-left:3px solid #c19758;padding:10px 15px;background:#f9f5ed;font-size:.9rem;line-height:1.7;margin-top:4px}
.taxon-note p:last-child{margin-bottom:0}
.taxon-synonyms{font-size:.84rem;color:var(--muted);font-family:var(--key-sans);margin-bottom:20px}
.taxon-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:26px}
.outline-button{display:inline-flex;justify-content:center;align-items:center;padding:10px 16px;min-height:44px;background:#fff;border:1px solid #9daf9e;color:var(--moss-dark);border-radius:4px;text-decoration:none;font-family:var(--key-sans);font-size:.8rem;font-weight:650}
.outline-button:hover{background:#f0f4e8}
.taxon-photo{float:right;max-width:34%;margin:0 0 20px 30px}
.section-top{display:flex;justify-content:space-between;align-items:end;gap:24px;margin:4px 0 22px}
.section-top h2,.reference-heading h2{font-size:clamp(1.85rem,3.2vw,2.65rem);line-height:1.15;margin-bottom:0}
.section-top .eyebrow{font-size:.68rem;margin-bottom:9px}
.species-search{font-family:var(--key-sans);flex:0 1 280px;min-width:200px}
.species-search label{display:block;font-size:.78rem;font-weight:650;margin-bottom:6px;color:var(--moss-dark)}
.species-search input{width:100%;padding:10px 13px;min-height:45px;border:1px solid #acb8a9;border-radius:4px;background:#fff;font-size:.84rem;min-width:0}
.small-note{font-family:var(--key-sans);font-size:.8rem;line-height:1.65;color:var(--muted)}
.species-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.species-card{border:1px solid #d6ddcf;border-radius:5px;padding:23px 24px;background:#fdfdf9;min-width:0}
.species-card h3{font-size:1.42rem;line-height:1.3;margin-bottom:6px}
.species-card h3 a{text-decoration:none}
.species-card h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.species-card .taxon-common{font-size:.88rem;margin-bottom:12px}
.species-card .taxon-summary{font-size:.95rem;margin-bottom:15px}
.species-card details{border-top:1px solid var(--line);padding-top:11px;margin-top:15px}
.species-card details>summary{font-family:var(--key-sans);font-size:.78rem;font-weight:650;color:var(--moss-dark)}
.species-card .taxon-facts{display:block;border:0;padding-top:16px}
.species-card .taxon-facts>div+div{margin-top:17px}
.species-card .taxon-facts p,.species-card .taxon-traits ul{font-size:.87rem}
.species-card .taxon-synonyms{font-size:.78rem}
.full-key-intro{font-size:1rem;max-width:820px;color:var(--muted);margin-bottom:25px}
.full-key-node{border-top:1px solid var(--line);padding:24px 0;scroll-margin-top:95px}
.full-key-node:first-child{border-top:0;padding-top:4px}
.full-key-node h3{font-size:1.3rem;line-height:1.35;color:var(--moss-dark);margin-bottom:10px}
.full-key-node .question-help,.full-key-node .question-prompt{font-size:.9rem;margin-bottom:12px}
.full-choices{list-style:none;padding:0;margin:13px 0 0;display:grid;gap:12px;font-size:.93rem}
.full-choices li{padding:12px 16px;border-left:2px solid #b5c3aa;background:#f7f8f2}
.full-choice-letter{font-family:var(--key-sans);font-size:.73rem;font-weight:750;color:var(--moss);margin-right:8px}
.full-choice-detail{display:block;font-size:.87rem;color:var(--muted);margin-top:4px}
.destination-link{display:block;font-family:var(--key-sans);font-size:.8rem;color:var(--moss-dark);font-weight:650;margin-top:8px;text-underline-offset:3px}
.full-key-node .source-links{margin-top:12px}
.reference-section{margin-top:56px;scroll-margin-top:95px}
.reference-heading{margin-bottom:25px;max-width:810px}
.reference-heading .eyebrow{font-size:.7rem}
.reference-heading p:last-child:not(.eyebrow){margin:15px 0 0;color:var(--muted);font-size:.94rem}
.diagram-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.diagram-grid figure{margin:0;min-width:0}
.diagram-grid .diagram-title{font-size:1.14rem;color:var(--moss-dark);display:block;margin-bottom:5px;font-family:var(--key-serif)}
.glossary-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 30px;margin:0}
.glossary-list>div{border-top:1px solid #d2d8cc;padding:15px 0 20px;min-width:0}
.glossary-list dt{font-weight:700;color:var(--moss-dark);font-size:1.04rem;margin-bottom:6px}
.glossary-list dd{margin:0;color:var(--muted);font-size:.9rem;line-height:1.6}
.glossary-list .atlas-link{font-family:var(--key-sans);font-size:.72rem;display:inline-block;margin-top:9px;color:var(--moss-dark)}
.sources-section{border-top:1px solid var(--line);padding-top:35px}
.source-list{padding-left:23px;max-width:960px;color:var(--muted);font-size:.89rem;line-height:1.7;overflow-wrap:anywhere}
.source-list li{padding-left:5px;margin-bottom:11px;scroll-margin-top:95px}
.source-list a{color:var(--moss-dark);text-underline-offset:3px}
.skip-link{position:absolute;top:-70px;left:12px;z-index:100;padding:10px 16px;background:#fff;color:var(--ink);font-family:var(--key-sans)}
.skip-link:focus{top:8px}
.print-only,[hidden]{display:none!important}
@media(max-width:980px){.key-intro{grid-template-columns:minmax(0,1.6fr) minmax(200px,.8fr);gap:32px}.workspace-top{padding:0 20px}.view-switch{gap:18px;font-size:.79rem}.glossary-shortcut{display:none}.question-layout.has-illustration{grid-template-columns:1fr}.question-layout.has-illustration .key-illustration{max-width:700px;width:100%}.glossary-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.key-page{padding-top:30px}.key-intro{grid-template-columns:1fr;gap:24px;margin-bottom:24px}.intro-copy h1{font-size:clamp(2.5rem,8.2vw,4rem);max-width:620px}.lead{font-size:1.04rem}.field-note{transform:none;padding:15px 0 12px}.field-note h2{font-size:1.35rem;margin-bottom:9px}.field-note .note-number{margin-bottom:10px}.field-note p{font-size:.9rem}.scope-note{margin:24px 0 28px}.workspace,.reference-section,.full-key-node,.source-list li{scroll-margin-top:145px}.question-heading{scroll-margin-top:160px}.workspace-top{padding:0 14px}.view-switch{gap:16px;flex-wrap:wrap;row-gap:0;font-size:.76rem}.view-switch a{padding:16px 0 13px}.view-panel{padding:18px 18px 27px}.key-toolbar{gap:7px;align-items:start;margin-bottom:16px}.history-controls{gap:0;flex-shrink:0}.quiet-button{font-size:.71rem;padding:7px;min-height:35px}.step-indicator{font-size:.68rem;padding-top:8px}.question-heading{font-size:1.9rem}.question-prompt{font-size:1rem}.question-help{font-size:.89rem}.choice-button{padding:16px 13px;gap:9px;grid-template-columns:24px minmax(0,1fr) 12px}.choice-letter{width:24px;height:24px;font-size:.73rem}.choice-label{font-size:.91rem}.choice-detail{font-size:.81rem}.taxon-facts{grid-template-columns:1fr;gap:20px}.taxon-result h2{font-size:2rem}.section-top{display:block}.species-search{margin-top:20px;max-width:400px}.species-grid{grid-template-columns:1fr;gap:15px}.species-card{padding:21px}.section-top>.outline-button{margin-top:20px}.diagram-grid{grid-template-columns:1fr}.glossary-list{gap:0 22px}.reference-section{margin-top:40px}.taxon-photo{float:none;max-width:100%;width:100%;margin:0 0 22px}.key-meta{gap:7px 12px}.key-meta span+span:before{margin-right:12px}}
@media(max-width:400px){.view-switch{gap:13px;font-size:.69rem}#species-count{display:none}.glossary-list{grid-template-columns:1fr}.history-controls .quiet-button{font-size:.66rem;padding-inline:5px}.choice-label{font-size:.87rem}.key-meta span+span:before{content:none;margin:0}.key-meta{display:block}.key-meta span{display:block;margin-top:3px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.choice-button{transition:none}.choice-button:hover{transform:none}}
@media print{
  @page{margin:16mm}
  body{background:#fff;color:#000;font-size:10pt}
  .site-header,.site-footer,.skip-link,.field-note,.workspace-top,.key-toolbar,.path-details,.load-message,noscript,.outline-button,.taxon-actions,.species-search,.glossary-shortcut,#identify-view,#species-view{display:none!important}
  .diagram-grid{grid-template-columns:1fr;max-width:170mm;gap:18pt}.diagram-grid figure{break-inside:avoid}.diagram-grid figcaption{font-size:9pt}.diagram-grid .diagram-title{font-size:12pt}
  .key-page{padding:0;max-width:none}.key-intro{display:block;margin-bottom:16pt}.intro-copy h1{font-size:27pt;max-width:none;line-height:1.08;letter-spacing:0;color:#000;margin-bottom:12pt}.lead{font-size:11pt;max-width:none}.key-meta{font-size:9pt}.scope-note{border:0;background:none;padding:0;margin:12pt 0 18pt}.scope-note>summary{font-size:10pt;font-weight:bold;list-style:none}.scope-note:not([open])>*:not(summary){display:block}.scope-note #key-scope{display:block!important}
  .workspace{border:0;box-shadow:none;overflow:visible}.view-panel,#full-key-view[hidden]{display:block!important;padding:0}.section-top{margin-bottom:10pt}.section-top h2,.reference-heading h2{font-size:20pt}.section-top .eyebrow,.reference-heading .eyebrow{font-size:8pt}.full-key-intro{font-size:10pt;margin-bottom:12pt}.full-key-node{padding:13pt 0;break-inside:avoid}.full-key-node h3{font-size:13pt;color:#000}.full-key-node .question-prompt,.full-key-node .question-help,.full-choices{font-size:10pt}.full-choices li{padding:7pt 10pt;background:none;border-color:#999}.destination-link,.source-links{font-size:8pt}.full-key-node .source-links{margin-top:7pt}.full-choice-detail{font-size:9pt}.print-only{display:block!important}.print-accounts-heading{break-before:page;font-size:20pt;margin-top:15pt}.print-account{break-inside:avoid;border-top:1px solid #bbb;padding:16pt 0}.print-account h3{font-size:17pt;margin-bottom:4pt}.print-account .taxon-common{font-size:10pt;margin-bottom:10pt}.print-account .taxon-summary{font-size:10pt;margin-bottom:10pt}.print-account .taxon-facts{display:block;padding-top:10pt}.print-account .taxon-facts>div{margin-bottom:10pt}.print-account .taxon-facts h3{font-size:8pt}.print-account .taxon-facts p,.print-account .taxon-traits li{font-size:9pt}.taxon-synonyms{font-size:8pt}.taxon-note{background:none}.reference-section{margin-top:24pt}.glossary-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22pt}.glossary-list>div{break-inside:avoid}.glossary-list dt{font-size:11pt}.glossary-list dd{font-size:9pt}.sources-section{padding-top:16pt}.source-list{font-size:9pt}.small-note{font-size:8pt}a{color:#000}a[href^="http"]{text-decoration:underline}
}
