
:root{--navy:#222b3b;--ivory:#f5efe4;--gold:#b99558;--sage:#718477;--ink:#343a40}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--ivory);font:16px/1.65 system-ui,sans-serif}a{color:inherit;text-underline-offset:4px}img{max-width:100%;display:block}header,footer{background:var(--navy);color:var(--ivory)}header{padding:22px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}nav{display:flex;gap:24px;flex-wrap:wrap}.brand{font:25px Georgia,serif;letter-spacing:4px;text-decoration:none;display:flex;align-items:center;gap:12px}.brand img{width:40px}small,.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:2px}.eyebrow{color:#705422;font-weight:700}.wrap{width:min(1250px,90%);margin:auto}main{min-height:65vh}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.13}h1{font-size:clamp(38px,5.5vw,80px);max-width:900px;margin:24px 0}h2{font-size:clamp(30px,3.5vw,46px)}h3{font-size:24px}p{max-width:75ch}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:50px;align-items:center;padding:70px 0}.hero p{font-size:18px}.hero img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:48% 48% 3px 3px}.hero .eyebrow{display:block}.button,button{background:var(--navy);color:white;padding:13px 22px;border:1px solid var(--navy);font:inherit;cursor:pointer;display:inline-block;text-decoration:none;border-radius:3px}button:hover,.button:hover{background:#3e4d65}button:disabled{opacity:.5;cursor:not-allowed}section{margin:55px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(265px,100%),1fr));gap:24px}.card{padding:24px;background:#fffaf2;border:1px solid #d9d0c0;min-width:0}.card img{width:100%;aspect-ratio:1.7;object-fit:cover;margin-bottom:20px}.card h3{margin:0 0 10px}.card a{text-decoration:none}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.workspace{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.2fr);gap:35px;align-items:start}form,.panel{background:#fffaf2;padding:28px;border:1px solid #d9d0c0}label{display:block;font-size:14px;margin:0 0 18px;font-weight:600}input,textarea,select{display:block;width:100%;max-width:100%;padding:12px;margin-top:7px;background:white;color:var(--ink);border:1px solid #9b9b92;border-radius:2px;font:16px system-ui}input[type=checkbox]{width:auto;display:inline-block;margin-right:12px}.result-card,.result-row{border-bottom:1px solid #ded5c8;padding:12px 0}.result-row h3{font-size:17px;text-transform:capitalize}.result-row p{margin:6px 0}.table{padding:20px;background:#e8e9df;border:1px solid #718477}.table [draggable]{padding:10px;margin:10px 0;background:white}.match{border-bottom:1px solid #ddd;padding:18px 0}.scroll{overflow:auto}table{border-collapse:collapse;width:100%}td,th{padding:12px;text-align:left;border-bottom:1px solid #ddd}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}#status{position:relative;padding:10px 0;font-weight:600;color:#70451c;min-height:45px}footer{padding:48px 5%;margin-top:70px}footer p{font-size:14px}.crumb{padding-top:25px;font-size:13px}.intro{padding:25px 0}.skip{position:absolute;left:-1000px}.skip:focus{left:10px;top:10px;background:white;padding:15px;z-index:10}:focus-visible{outline:3px solid #9b6924;outline-offset:4px}details{border-bottom:1px solid #cfc5b5;padding:16px 0}summary{cursor:pointer;font-weight:600}.band{background:var(--navy);color:var(--ivory);padding:40px}.band .eyebrow{color:#d9bd83}fieldset{min-width:0;border:1px solid #cfc5b5}.tool-mark{width:72px;height:72px;object-fit:cover;border-radius:50%}@media(max-width:760px){.hero,.workspace{grid-template-columns:1fr}.hero{padding:35px 0;gap:25px}.hero img{max-height:400px;aspect-ratio:1.25}.wrap{width:92%}header{padding:18px 4%}nav{gap:14px;font-size:14px}form,.panel{padding:18px}h1{font-size:42px}.band{padding:24px}}@media print{header,footer,form,.toolbar,.crumb,.skip,button,#status{display:none!important}body{background:white}.wrap{width:100%}.workspace{display:block}.panel{border:0;padding:0}details{display:none}.hero img{max-height:160px}}

@media print{body.private-print #result>.secret-card{display:none!important}body.private-print #result>.print-selected{display:block!important}body.private-print .print-selected>*{display:block}.secret-card[open]{break-inside:avoid}body.private-print main>section,body.private-print .intro{display:none!important}}

.reading{max-width:850px;margin:50px auto}.reading h1{font-size:clamp(36px,4.5vw,64px)}.reading h2{font-size:32px;margin-top:42px}.reading .lede{font-size:20px}.reading ol{padding-left:24px}.reading th{min-width:120px}.reading li{margin-bottom:12px}.reading p,.reading td{overflow-wrap:anywhere}

[hidden]{display:none!important}.result-row p,.result-card,.match{overflow-wrap:anywhere}body{overflow-wrap:break-word}.workspace>*{min-width:0}button{min-height:44px}.task input{min-height:24px}

form,.panel{color:var(--ink)}.band .workspace{margin-top:25px}.band form,.band .panel{background:#fffaf2}.band .workspace h3{color:var(--navy)}

@media print{article[data-clue-card][hidden]{display:block!important}}

@media print{#result .secret-card{display:block!important}#result .secret-card::details-content{content-visibility:visible;display:block}#result .secret-card>summary{display:block}#result .secret-card{break-inside:avoid}.scroll{overflow:visible}tr{break-inside:avoid}thead{display:table-header-group}body.private-print #result>.secret-card:not(.print-selected){display:none!important}}
@media print{body[data-tool] main>section{display:none!important}body[data-tool] .intro{padding:0}body[data-tool] h1{font-size:28px;margin:8px 0}body[data-tool] section{margin:12px 0}body[data-tool] #result .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}body[data-tool] .table{break-inside:avoid}body[data-tool] #result input,body[data-tool] #result select{border:0;padding:2px;background:white}body[data-tool] #result .secret-card{padding:8px 0}body.private-print .intro,body.private-print .panel>h2{display:none!important}}
@page{size:A4;margin:12mm}
@media print{
 body[data-tool]{font-size:10pt;line-height:1.3}
 body[data-tool] h2{font-size:15pt;margin:6px 0}
 body[data-tool] h3{font-size:11pt;margin:4px 0}
 body[data-tool] p{margin:4px 0}
 body[data-tool] label{font-size:9pt;margin:3px 0}
 body[data-tool] #result .result-row{padding:3px 0}
 body[data-tool] #result .result-row>h3{display:inline;margin-right:7px}
 body[data-tool] #result .result-row>p{display:inline}
 body[data-tool] #result .result-row>.result-row{margin-left:10px}
 body[data-tool] #result .result-card{padding:4px 0;break-inside:avoid}
 body[data-tool] #result .match{padding:6px 0;break-inside:avoid}
 body[data-tool] #result fieldset{padding:6px;margin:5px 0;break-inside:avoid}
 body[data-tool] #result th,body[data-tool] #result td{padding:5px;overflow-wrap:anywhere}
 body[data-tool] #result table{table-layout:fixed;font-size:9pt}
 #seat-picker{display:none!important}
 #result details{display:block!important}
 #result details::details-content{content-visibility:visible;display:block}
}
#seat-picker button{max-width:100%;overflow-wrap:anywhere;margin-bottom:5px}
.print-value{display:none}
@media print{#result input:not([type=checkbox]):not([type=radio]),#result textarea,#result select{display:none!important}#result .print-value{display:block;white-space:pre-wrap;overflow-wrap:anywhere}}
@media print{body[data-tool=themecompass] #result .result-card{break-inside:auto}#result [data-field=scores],#result [data-field=index]{display:none!important}}

/* Intrinsic height attributes must scale with responsive card width. */
.card img{height:auto}


/* Final category image sizing: show the entire scene without intrinsic-height overflow. */
body:not(.home-journal) .hero img{height:auto;object-fit:contain;aspect-ratio:auto;border-radius:12px}
.journal-footer nav a{display:block;min-height:24px;line-height:24px}
