*{box-sizing:border-box}body{margin:0;font-family:ui-rounded,system-ui,-apple-system,sans-serif;background:#f4f0e8;color:#292723}header{height:72px;background:#163a35;color:white;display:flex;align-items:center;justify-content:space-between;padding:12px 5vw;position:sticky;top:0;z-index:5}header b{font-size:21px;letter-spacing:.8px}header small{display:block;opacity:.8;margin-top:2px}button,input,select{font:inherit}button{cursor:pointer;border:0;border-radius:12px;padding:11px 15px}header button{background:#e8d39a}.screen{display:none;padding:28px 5vw 60px}.screen.active{display:block}h1{font-family:Georgia,serif;font-size:clamp(32px,6vw,56px);margin:.2em 0}.toolbar{display:flex;gap:10px;margin:25px 0}.toolbar input,.toolbar select{padding:13px;border:1px solid #bbb;border-radius:10px;background:white}.toolbar input{flex:1}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}.card{background:white;border-radius:18px;overflow:hidden;box-shadow:0 5px 18px #0001;position:relative}.thumb{height:150px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#d9d3c4,#f8f5ed);font-size:50px}.thumb.unlocked{background:#e8efe9}.card .body{padding:15px}.card h3{margin:0 0 5px}.tag{font-size:12px;text-transform:uppercase;letter-spacing:.8px;color:#64726b}.lock{position:absolute;top:10px;right:10px;background:#fffD;padding:6px 9px;border-radius:20px}.levels{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;max-width:800px}.levels button{padding:25px;background:white;box-shadow:0 5px 18px #0001}.levels b,.levels span{display:block}.levels b{font-size:22px;color:#163a35}.levels span{margin-top:8px}.back{background:#ddd6c7}.puzzleTop{display:flex;align-items:center;gap:16px;margin-bottom:12px}.puzzleTop b{flex:1;text-align:center}.boardWrap{height:min(62vh,650px);background:#d8d3c9;border-radius:16px;overflow:hidden;position:relative;touch-action:none}#board{width:100%;height:100%;display:block;touch-action:none}.trayHead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:12px 0 8px}#tray{min-height:115px;background:#2e3533;border-radius:14px;padding:10px;display:flex;gap:8px;overflow-x:auto}.trayPiece{width:78px;height:78px;flex:0 0 78px;border-radius:8px;background-size:cover;border:2px solid #fff8}.spread{display:grid;grid-template-columns:1fr 1fr;max-width:1100px;margin:auto;background:#f8f2df;box-shadow:0 10px 35px #0002;min-height:650px}.page{padding:35px;position:relative}.page:first-child{border-right:1px solid #c9b98d}.specimen{height:520px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,#eee8d9,#cfc6b1);font-size:120px}.facts{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.facts div{border-bottom:1px solid #d6c9a7;padding:7px 0}.read{background:#163a35;color:white;margin:8px 0 18px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#163a35;color:white;padding:12px 18px;border-radius:20px;display:none;z-index:20}@media(max-width:700px){.levels{grid-template-columns:1fr}.spread{grid-template-columns:1fr}.page:first-child{border-right:0;border-bottom:1px solid #c9b98d}.specimen{height:360px}.screen{padding:20px 4vw 50px}.boardWrap{height:55vh}}
.thumb img,.specimenPhoto img{width:100%;height:100%;object-fit:contain;display:block}.lockedArt,.pendingArt{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:42px;background:linear-gradient(135deg,#222,#594c36);color:#f4e7c3}.pendingArt small{font-size:11px}.specimenPhoto{height:420px;border-radius:16px;overflow:hidden;background:#111}.credit{font-size:12px;opacity:.7}.zoomTools{display:flex;gap:6px;margin-left:auto}.zoomTools button{min-width:42px}.previewOverlay{position:fixed;inset:0;background:#000d;z-index:99;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px;color:white;font-size:24px}.previewOverlay img{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:14px}.trayPiece.done{opacity:.4}.imagePage{min-width:0}@media(max-width:700px){.specimenPhoto{height:52vh}.zoomTools button{padding:8px}}

.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.specimenPhoto{height:440px;border-radius:14px;overflow:hidden;background:radial-gradient(circle,#eee8d9,#cfc6b1);display:flex;align-items:center;justify-content:center}
.specimenPhoto img{width:100%;height:100%;object-fit:contain;background:#111}
.credit{font-size:12px;color:#6d685e}
.collectionProgress{max-width:650px;background:#fff;border-radius:16px;padding:16px 18px;margin:12px 0 24px;box-shadow:0 5px 18px #0001}
.collectionProgress b,.collectionProgress span{display:block}
.collectionProgress span{margin-top:4px;color:#64726b}
.progressTrack{height:10px;background:#ded8ca;border-radius:20px;margin-top:12px;overflow:hidden}
.progressTrack i{display:block;height:100%;background:#163a35;border-radius:20px}
.page h3{margin-bottom:5px}.page p{line-height:1.45}
@media(max-width:700px){.specimenPhoto{height:340px}.facts{grid-template-columns:1fr 1fr}}

.bookHero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:8px 0 18px}
.bookHero h1{margin:.15em 0}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:800;color:#6a796f}
.bookHero .collectionProgress{min-width:330px;margin:0}
.bookControls{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:16px 0}
.bookTabs{display:flex;gap:8px;flex-wrap:wrap}.bookTab{border:1px solid #cfc8b8;background:#f5f1e7;padding:10px 16px;border-radius:999px;font-weight:700}
.bookTab.active{background:#163a35;color:white;border-color:#163a35}
#bookSearch{min-width:280px;padding:12px 14px;border:1px solid #cfc8b8;border-radius:12px;background:white}
.chapterProgress{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:12px 0 24px}
.chapterCard{text-align:left;border:1px solid #d8d0bf;background:#fff;border-radius:14px;padding:13px;display:grid;grid-template-columns:1fr auto;gap:8px;box-shadow:0 3px 12px #0000000d}
.chapterCard span{font-weight:800}.chapterCard b{font-size:12px;color:#69736c}.chapterCard i{grid-column:1/-1;height:6px;background:#e6e0d3;border-radius:10px;overflow:hidden}.chapterCard em{display:block;height:100%;background:#163a35}
.bookCard .thumb{position:relative}.lockBadge,.discoveredBadge{position:absolute;right:10px;top:10px;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800;background:#ffffffdd;color:#24332f}
.bookCard.locked{opacity:.82}.bookCard.locked .thumb{filter:saturate(.35)}
.emptyBook{grid-column:1/-1;padding:36px;text-align:center;background:#fff;border-radius:14px;color:#6c716e}
.spreadNav{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px}
.spreadNav button{border:1px solid #cec6b5;background:#fff;padding:9px 12px;border-radius:10px;font-weight:700}.spreadNav span{font-size:12px;color:#6c716e}
@media(max-width:700px){.bookHero{display:block}.bookHero .collectionProgress{min-width:0;margin-top:14px}.bookControls{display:block}.bookTabs{margin-bottom:10px}#bookSearch{width:100%;min-width:0}.chapterProgress{grid-template-columns:1fr 1fr}.spreadNav{font-size:11px}.spreadNav button{padding:7px 8px;font-size:11px}}

.homeHero{padding:34px 0 22px;max-width:850px}.homeHero h1{font-size:clamp(34px,5vw,64px);line-height:1.02;margin:.15em 0}.homeHero p{font-size:18px;max-width:700px;color:#5e6862}
.homeSearch{margin-top:22px;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #d4ccbb;border-radius:16px;padding:4px 14px;box-shadow:0 8px 24px #0000000d;max-width:680px}
.homeSearch input{border:0;outline:0;background:transparent;padding:14px 4px;font-size:16px;width:100%}
.homeChoices{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:10px 0 34px}.homeChoice{text-align:left;border:1px solid #d5cdbd;background:#fff;border-radius:18px;padding:18px;min-height:145px;box-shadow:0 5px 18px #0000000b}.homeChoice:hover{transform:translateY(-2px)}.homeChoice .choiceIcon{display:block;font-size:28px;margin-bottom:18px}.homeChoice b,.homeChoice small{display:block}.homeChoice b{font-size:17px}.homeChoice small{margin-top:5px;color:#68716c;line-height:1.3}
.homeSection{margin:32px 0}.sectionHead{display:flex;justify-content:space-between;align-items:end}.sectionHead h2{margin:.2em 0 12px}
.featuredGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.featuredCard{padding:0;border:0;border-radius:16px;overflow:hidden;background:#fff;text-align:left;box-shadow:0 5px 16px #0001}.featuredCard>img,.featuredCard>.pendingArt{width:100%;height:145px;object-fit:cover;display:block}.featuredCard span{display:block;padding:10px}.featuredCard b,.featuredCard small{display:block}.featuredCard small{color:#6b746e;margin-top:3px}
.libraryHead{margin:14px 0 18px}.libraryHead h1{font-size:42px;margin:.15em 0}.libraryHead p{color:#66706a}
#libraryChapters:not(:empty){margin-bottom:24px}
@media(max-width:900px){.homeChoices{grid-template-columns:1fr 1fr}.featuredGrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.homeHero{padding-top:20px}.homeChoices{grid-template-columns:1fr 1fr;gap:8px}.homeChoice{min-height:128px;padding:14px}.featuredGrid{grid-template-columns:1fr 1fr}.featuredCard>img,.featuredCard>.pendingArt{height:130px}.libraryHead h1{font-size:34px}}

#board{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}


/* v0.18.2 iPhone navigation zoom guard
   App chrome permits normal one-finger panning but suppresses accidental
   double-tap/pinch viewport zoom that can strand the UI at a magnified scale. */
html, body {
  -webkit-text-size-adjust: 100%;
  touch-action: auto;
}
button, a, .btn, input, select, [role="button"] {
  touch-action: manipulation;
}
input, select, textarea {
  font-size: 16px;
}
#board {
  touch-action: none;
}

/* v0.19 — every catalog/chapter card is playable; discovery still hides the photo/book entry */
.discoveryState{white-space:nowrap}
.card{cursor:pointer}
.card:active{transform:scale(.99)}

.chapterReturn{display:block;width:100%;margin:0 0 14px;padding:14px 16px;border:0;border-radius:16px;font-weight:800;font-size:16px;text-align:left;cursor:pointer}

/* v0.20 persistent navigation + breadcrumb trail */
.globalNav{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:8px 12px;background:#173f36;border-top:1px solid rgba(255,255,255,.15)}
.globalNav button{min-height:44px;border:0;border-radius:12px;font-weight:800;font-size:13px;padding:7px 4px;cursor:pointer}
.breadcrumbs{display:flex;align-items:center;gap:7px;overflow-x:auto;white-space:nowrap;padding:9px 16px;background:#f5f1e8;border-bottom:1px solid rgba(0,0,0,.08);font-size:13px;-webkit-overflow-scrolling:touch}
.breadcrumbs:empty{display:none}
.breadcrumbs button{border:0;background:transparent;padding:4px 0;font:inherit;font-weight:700;cursor:pointer}
.breadcrumbs b{font-weight:900}
@media(max-width:520px){.globalNav button{font-size:12px}.breadcrumbs{padding-left:12px;padding-right:12px}}

.wholeZoomBar{position:sticky;top:76px;z-index:12;display:flex;gap:8px;align-items:center;justify-content:center;background:#f4f0e8;padding:8px;border-bottom:1px solid #d6c9a7}.wholeZoomBar button{min-width:52px;background:#fff;box-shadow:0 2px 8px #0002}.wholeZoomBar span{font-size:13px;font-weight:700}.finalPhotoHint{font-size:13px;margin-top:6px}

/* v0.31.14 approved puzzle-play layout: outline-only guide, no preview/timer/settings */
#puzzle{padding-top:18px}.puzzleTop{background:#102631;color:#f6dfaa;padding:10px 12px;border-radius:14px;gap:12px}.puzzleTop #exitPuzzle{background:transparent;color:#fff;border:1px solid #ffffff80}.puzzleTop b{font-family:Georgia,serif;font-size:clamp(20px,3vw,34px)}.puzzleActions{display:flex;gap:8px}.puzzleActions button{background:#17313d;color:#f6dfaa;border:1px solid #f6dfaa80;padding:9px 12px}.boardWrap{background:#c9c6bf}.puzzleBottom{display:grid;grid-template-columns:auto 1fr auto;align-items:center;background:#102631;color:white;margin-top:8px;padding:10px 14px;border-radius:12px}.puzzleBottom select{background:#17313d;color:white;border:1px solid #f6dfaa80;border-radius:10px;padding:10px 12px}.puzzleBottom b{text-align:center;font-weight:600}#tray{display:none!important}@media(max-width:700px){.puzzleTop{flex-wrap:wrap}.puzzleTop b{order:2;width:100%}.puzzleActions{margin-left:auto}.puzzleActions button{padding:8px 9px;font-size:13px}.puzzleBottom{grid-template-columns:1fr}.puzzleBottom b{padding-top:8px}}

/* v0.31.16 — flyer-inspired visual refresh; structure/functionality unchanged */
:root{--ink:#102631;--ink2:#17313d;--gold:#d6a84b;--gold2:#f0d28d;--cream:#fbf5e8;--paper:#f3ead8;--stone:#d8d1c4;--text:#25231f;--muted:#6e6659}
body{background:radial-gradient(circle at 15% -10%,#fffaf0 0,#f4ead8 36%,#e8dfd0 100%);color:var(--text)}
header{height:78px;background:linear-gradient(120deg,#0b202a,#143946 55%,#1e4c4b);box-shadow:0 5px 20px #10263135;border-bottom:2px solid #d6a84b;color:#fff8e8}
header b{font-family:Georgia,serif;font-size:24px;color:#f7dfaa;text-shadow:0 1px 0 #0005}header small{color:#e9dcc3;opacity:.9}header button{background:linear-gradient(#f2d996,#d5a94d);color:#18262a;font-weight:900;box-shadow:0 3px 10px #0003}
.screen{background:transparent}h1,h2{color:#17313d}h1{letter-spacing:-.02em}.eyebrow,.tag{color:#a47524;font-weight:900}
.homeHero{position:relative;padding:42px 34px 34px;margin-top:18px;max-width:none;border-radius:26px;background:linear-gradient(125deg,#102631 0,#174552 58%,#315e55 100%);box-shadow:0 16px 38px #1026312e;overflow:hidden;color:white;border:1px solid #e0bd6c66}.homeHero:after{content:"";position:absolute;width:340px;height:340px;border-radius:50%;right:-90px;top:-150px;background:radial-gradient(circle,#e7c56d44 0,#e7c56d00 68%);pointer-events:none}.homeHero h1{color:#fff5df;text-shadow:0 2px 0 #0004}.homeHero p{color:#e9dfca}.homeHero .eyebrow{color:#f0cc76}.homeSearch{background:#fffaf0;border:2px solid #d8b660;box-shadow:0 10px 24px #0003}
.homeChoice,.card,.chapterCard,.featuredCard,.collectionProgress{background:linear-gradient(155deg,#fffdf8,#f6ecdb);border:1px solid #d7c39a;box-shadow:0 8px 22px #45382018}.homeChoice{border-top:4px solid #d6a84b;transition:.18s ease}.homeChoice:hover{transform:translateY(-3px);box-shadow:0 12px 25px #45382024}.homeChoice .choiceIcon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#17313d;color:#f3d484;box-shadow:inset 0 0 0 1px #f0d28d55}.homeChoice b,.card h3,.featuredCard b{color:#17313d}.homeChoice small,.featuredCard small,.libraryHead p{color:#6d6558}
.sectionHead{border-bottom:1px solid #d3bd8d;padding-bottom:4px}.sectionHead h2{font-family:Georgia,serif;font-size:28px}.thumb{background:linear-gradient(145deg,#d9d0bd,#fffaf0);border-bottom:1px solid #d8c59d}.card{transition:.15s ease}.card:hover{box-shadow:0 12px 26px #45382022}.card .body{background:linear-gradient(180deg,#fffdf8,#f7eedf)}
.toolbar input,.toolbar select,#bookSearch{background:#fffaf1;border:1px solid #cbb27a;box-shadow:inset 0 1px 2px #0000000b}.levels button{background:linear-gradient(145deg,#fffdf8,#f3e6cf);border:1px solid #d2b87f;box-shadow:0 8px 22px #4538201c}.levels b{color:#17313d}.back,.chapterReturn{background:linear-gradient(#f2dfb4,#dfc183);color:#17313d}
.globalNav{background:linear-gradient(90deg,#0c252f,#173f48,#234d47);border-top:1px solid #d6a84b80;box-shadow:0 -2px 12px #0002}.globalNav button{background:#f8edd6;color:#17313d;border:1px solid #d2b36d}.breadcrumbs{background:#fbf4e6;border-bottom:1px solid #d5c08e}.breadcrumbs button{color:#6e5321}
.bookTab{border-color:#c9ad70;background:#f8edd7;color:#3c352b}.bookTab.active{background:linear-gradient(120deg,#102631,#24514e);color:#f5dda5;border-color:#d6a84b}.progressTrack,.chapterCard i{background:#dfd3bd}.progressTrack i,.chapterCard em{background:linear-gradient(90deg,#b9842f,#e3bf68)}
.spread{background:#fbf1da;border:1px solid #cfb576;box-shadow:0 16px 40px #352b1d30}.page:first-child{border-color:#c9ad70}.facts div{border-color:#dbc79d}.read{background:linear-gradient(120deg,#102631,#24514e);color:#f7e2af;border:1px solid #d6a84b}.spreadNav button{background:#fff8e9;border-color:#c9ad70;color:#17313d}
#toast{background:#102631;color:#f7e2af;border:1px solid #d6a84b;box-shadow:0 8px 25px #0004}
/* puzzle: visual polish only; approved controls and outline-only board stay unchanged */
#puzzle{background:linear-gradient(180deg,#eee6d8,#e4dac9)}.puzzleTop{background:linear-gradient(105deg,#0b202a,#173d49 62%,#24514e);border:1px solid #d6a84b88;box-shadow:0 8px 22px #1026312b}.puzzleTop #exitPuzzle{border-color:#e8cf91;color:#fff7e6}.puzzleTop b{color:#f7e2af}.puzzleActions button{background:#102c37;color:#f5d98f;border-color:#d6a84b;box-shadow:inset 0 0 0 1px #ffffff10}.puzzleActions button:active{background:#234d4d}.boardWrap{background:linear-gradient(145deg,#d9d4ca,#c5c1b9);border:2px solid #b9a77f;box-shadow:inset 0 0 35px #6b5e4930,0 10px 24px #10263120}.puzzleBottom{background:linear-gradient(105deg,#0b202a,#173d49 62%,#24514e);border:1px solid #d6a84b88;box-shadow:0 7px 18px #10263124}.puzzleBottom select{background:#102c37;color:#fff5df;border-color:#d6a84b}.puzzleBottom b{color:#f6ead2}
@media(max-width:700px){header{height:70px}.homeHero{padding:28px 20px 24px;border-radius:20px}.homeHero h1{font-size:38px}.homeChoice{border-top-width:3px}}


/* v0.31.17 mobile vertical tightening: keeps puzzle controls and play field higher */
@media(max-width:700px){
  #puzzle{padding-top:8px;padding-bottom:24px}
  #puzzle .puzzleTop{margin-bottom:7px;padding:8px 10px;gap:8px}
  #puzzle .puzzleTop b{font-size:clamp(20px,6vw,28px);line-height:1.05}
  #puzzle .puzzleActions{gap:6px}
  #puzzle .puzzleActions button{padding:7px 8px}
  #puzzle .boardWrap{height:55vh}
  #puzzle .puzzleBottom{margin-top:6px;padding:8px 10px}
}


/* v0.31.19 — approved thin rectangular logo header + compact navigation */
.brandHeader{height:112px;padding:0;overflow:hidden;position:sticky;top:0;background:#0b2631;border-bottom:2px solid #d6a84b;box-shadow:0 5px 18px #10263135}
.brandHeader>img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 49%;}
.headerBookBtn{position:absolute;right:10px;bottom:8px;width:38px;height:34px;padding:0;display:grid;place-items:center;border:1px solid #f0d28d;background:#102c37cc;color:#f6dfaa;border-radius:9px;font-size:16px;box-shadow:0 2px 8px #0005}
.globalNav{top:112px;padding:5px 10px;gap:5px}
.globalNav button{min-height:36px;padding:5px 3px;font-size:12px;border-radius:9px}
.breadcrumbs{padding-top:6px;padding-bottom:6px}
@media(max-width:700px){
 .brandHeader{height:92px}
 .brandHeader>img{object-position:center 49%}
 .headerBookBtn{width:34px;height:30px;right:7px;bottom:5px;font-size:14px}
 .globalNav{top:92px;padding:4px 6px;gap:4px}
 .globalNav button{min-height:32px;padding:4px 2px;font-size:11px;border-radius:8px}
 .breadcrumbs{padding-top:5px;padding-bottom:5px;font-size:12px}
 #puzzle{padding-top:5px}
}
@media(max-width:390px){
 .brandHeader{height:82px}
 .globalNav{top:82px}
 .globalNav button{font-size:10.5px}
}

/* v0.31.21 — approved cinematic app layout + navigation reliability */
.brandHeader{height:118px;background:#071d27;border-bottom:2px solid #d8a94d}
.brandHeader>img{object-fit:cover;object-position:center 50%}
.globalNav{background:#071d27;border-top:0;border-bottom:1px solid #d8a94d;padding:6px 10px;gap:7px}
.globalNav button{background:linear-gradient(180deg,#123e50,#0a2a37);color:#fff6df;border:1px solid #c99a43;box-shadow:inset 0 1px 0 #ffffff1a,0 2px 6px #0004;min-height:38px;font-weight:800}
.globalNav button:hover,.globalNav button:focus{background:linear-gradient(180deg,#176284,#0c4056);outline:2px solid #56c6df55}
.breadcrumbs{background:#f8f1e4;color:#2d2a24;border-bottom:1px solid #cdb478}
.homeHero{min-height:330px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,#071c27e8 0%,#0b2d38c9 44%,#0c30466e 72%),url('assets/mineral-puzzle-book-header.png') center/cover no-repeat;border:1px solid #d4a849;border-radius:20px;box-shadow:0 14px 34px #071d2740;padding:36px 32px}
.homeHero:after{display:none}.homeHero .eyebrow{color:#f1cc76}.homeHero h1{font-size:clamp(42px,7vw,72px);line-height:.94;margin:.18em 0;color:#fff1c9;text-shadow:0 3px 10px #000}.homeHero p{font-size:20px;max-width:470px;color:#fff8e8;text-shadow:0 2px 6px #000}.homeSearch{max-width:650px;margin-top:12px}
.homeChoices{display:grid;grid-template-columns:1fr;gap:10px;max-width:860px;margin:22px auto}.homeChoice{display:grid;grid-template-columns:58px 1fr;grid-template-rows:auto auto;text-align:left;align-items:center;column-gap:14px;padding:13px 18px;background:linear-gradient(100deg,#102a32,#162f31);color:#fff;border:1px solid #c7ad78;border-top:1px solid #c7ad78;border-radius:15px}.homeChoice .choiceIcon{grid-row:1/3;width:52px;height:52px;background:linear-gradient(145deg,#1c5b69,#0d3440);color:#f0cc76;border:1px solid #d8a94d}.homeChoice b{font-family:Georgia,serif;color:#fff4d7;font-size:21px}.homeChoice small{color:#d7d0c1}.homeChoice:after{content:'›';grid-column:3;grid-row:1/3;font-size:34px;color:#f0cc76}.homeChoice:hover{transform:translateY(-2px);background:linear-gradient(100deg,#143642,#1c4846)}
.featuredGrid .featuredCard,.grid .card{border:1px solid #c9ae76;background:#fffaf0;box-shadow:0 7px 20px #10263122}.featuredCard img,.thumb img{background:#171b1b}.card .body{background:#fffaf0}.card h3{font-family:Georgia,serif}
.bookHero{background:linear-gradient(105deg,#0a2530,#174b51);color:#fff5de;border:1px solid #d6a84b;border-radius:20px;padding:22px;box-shadow:0 10px 25px #1026312b}.bookHero h1,.bookHero p{color:#fff5de}.bookControls{background:#f9f0df;border:1px solid #cfb274;border-radius:14px;padding:10px;margin:14px 0}.bookTab{font-weight:800}.bookTab.active{background:linear-gradient(#176487,#0d4158);color:white}.chapterCard{border:1px solid #c9ad70;background:#fff8e9}
#puzzle .puzzleTop{background:linear-gradient(100deg,#071f2b,#0f4c55);border-color:#d6a84b}.puzzleActions button{background:#0b3444}.puzzleBottom{background:linear-gradient(100deg,#071f2b,#0f4c55)}
@media(max-width:700px){
 .brandHeader{height:86px}.globalNav{top:86px;padding:4px 5px;gap:4px}.globalNav button{min-height:31px;font-size:10.5px;padding:3px 2px}.breadcrumbs{padding:5px 10px}.homeHero{min-height:265px;padding:24px 18px;margin-top:8px}.homeHero h1{font-size:43px}.homeHero p{font-size:16px}.homeChoices{margin:14px auto}.homeChoice{padding:10px 12px;grid-template-columns:48px 1fr;column-gap:10px}.homeChoice .choiceIcon{width:44px;height:44px}.homeChoice b{font-size:18px}.homeChoice small{font-size:12px}#puzzle{padding-top:4px}.puzzleTop{margin-bottom:5px}}
@media(max-width:390px){.brandHeader{height:78px}.globalNav{top:78px}}

/* v0.31.23 — front-page search + four primary navigation bars 30% thinner */
.homeSearch{padding:2px 12px;border-radius:12px}
.homeSearch input{padding:9px 4px;font-size:15px}
.homeChoices{gap:7px;margin:15px auto}
.homeChoice{padding:8px 14px;grid-template-columns:42px 1fr;column-gap:11px;border-radius:12px;min-height:0}
.homeChoice .choiceIcon{width:36px;height:36px;font-size:21px;margin-bottom:0}
.homeChoice b{font-size:18px;line-height:1.05}
.homeChoice small{font-size:11px;line-height:1.15;margin-top:2px}
.homeChoice:after{font-size:27px}
@media(max-width:700px){
 .homeSearch{padding:1px 10px}.homeSearch input{padding:8px 3px;font-size:14px}
 .homeChoices{gap:6px;margin:10px auto}.homeChoice{padding:7px 10px;grid-template-columns:36px 1fr;column-gap:8px}
 .homeChoice .choiceIcon{width:32px;height:32px;font-size:18px}.homeChoice b{font-size:16px}.homeChoice small{font-size:10px}.homeChoice:after{font-size:24px}
}

/* v0.31.24 — Explore / Learn hero box 30% smaller vertically */
.homeHero{min-height:231px;padding:25px 32px}
.homeHero h1{font-size:clamp(36px,6vw,62px);line-height:.94}
.homeHero p{font-size:18px;margin:.45em 0}
@media(max-width:700px){
 .homeHero{min-height:186px;padding:17px 18px;margin-top:6px}
 .homeHero h1{font-size:36px;margin:.12em 0}
 .homeHero p{font-size:14px;margin:.35em 0}
 .homeHero .eyebrow{font-size:10px}
}


/* SHOW EDITION 1.0 */
.showRegisterScreen{min-height:70vh;display:none;place-items:center;padding:24px}.showRegisterScreen.active{display:grid}.showPanel{width:min(680px,94vw);background:#fff8e9;border:2px solid #d6a84b;border-radius:22px;padding:30px;text-align:center;box-shadow:0 18px 48px #071d2740}.showPanel h1{font-family:Georgia,serif;color:#102631;font-size:clamp(30px,6vw,48px);margin:.25em 0}.showPanel p{font-size:18px}.showLaunchBtn{display:block;width:100%;margin:20px 0 10px;padding:18px;border-radius:14px;border:2px solid #8d1616;background:linear-gradient(#d52d25,#a81717);color:#fff;font-weight:900;font-size:21px;letter-spacing:.03em;box-shadow:0 5px 14px #0002}.showNoThanksBtn{display:block;width:100%;padding:11px;border:0;background:transparent;color:#52616a;text-decoration:underline;font-weight:700}.showFormPanel{text-align:left}.showFormPanel h1,.showFormPanel>.eyebrow{text-align:center}.showFormPanel label{display:block;font-weight:800;margin:12px 0}.showFormPanel input[type=text],.showFormPanel input[type=email],.showFormPanel input:not([type]),.showFormPanel textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #bda875;border-radius:10px;background:#fff;font:inherit;margin-top:5px}.showFormPanel fieldset{border:1px solid #c9ae76;border-radius:12px;padding:12px 16px;margin:16px 0}.showFormPanel fieldset label{font-weight:600;margin:9px 0}.showFormPanel legend{font-weight:900;padding:0 6px}.showFormPanel legend small{font-weight:500}.consentLine{font-weight:600!important;background:#f4ead4;padding:12px;border-radius:10px}.thanksGem{font-size:55px;color:#d6a84b}.resetNote{font-size:14px!important;color:#667}.ownerNote{font-size:12px!important;color:#667;margin-top:18px}.ownerPanel .back{float:left}.ownerPanel h1{clear:both}
@media(max-width:700px){.showPanel{padding:20px 16px}.showPanel p{font-size:16px}.showLaunchBtn{font-size:18px;padding:15px}.showRegisterScreen{padding:12px}}


/* SHOW EDITION 1.1 — post-puzzle field guide flow + iPad-first scaling */
.showContinueWrap{margin:28px 0 8px;padding-top:22px;border-top:1px solid #cfb274;text-align:center}.showContinueWrap p{font-weight:800;color:#33444c}.showContinueBtn{display:block;width:100%;max-width:520px;margin:12px auto 0;padding:18px 22px;border-radius:14px;border:2px solid #8d1616;background:linear-gradient(#d52d25,#a81717);color:#fff;font-weight:900;font-size:22px;letter-spacing:.04em;box-shadow:0 5px 14px #0002}
@media (min-width:701px) and (max-width:1180px){
 .brandHeader{height:104px;background:#071d27;display:flex;justify-content:center;align-items:center}
 .brandHeader>img{object-fit:contain;object-position:center center;max-width:100%;height:100%}
 .globalNav{top:104px;padding:5px 12px}.globalNav button{min-height:36px;font-size:13px}
 main{max-width:1100px;margin:0 auto}.screen{padding-left:18px;padding-right:18px}
 #puzzle{padding-top:8px}.puzzleTop{padding:9px 12px}.boardWrap{height:min(62vh,690px)}.puzzleBottom{padding:9px 12px}
 .spread{gap:16px}.spread .page{padding:20px}.specimenPhoto{max-height:48vh}.facts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .showPanel{width:min(720px,90vw);padding:28px}.showFormPanel{max-height:calc(100vh - 190px);overflow:auto;-webkit-overflow-scrolling:touch}
}
@media (min-width:701px) and (max-width:1180px) and (orientation:portrait){.spread{grid-template-columns:1fr}.spread .page{max-width:760px;margin:0 auto;width:100%;box-sizing:border-box}.specimenPhoto{max-height:38vh}.homeHero{min-height:210px}}
@media (min-width:701px) and (max-width:1180px) and (orientation:landscape){.brandHeader{height:88px}.globalNav{top:88px}.boardWrap{height:58vh}.spread .page{font-size:14px}.specimenPhoto{max-height:44vh}}


/* SHOW EDITION 1.3 — iPad proportional header + full puzzle fit */
@media (min-width:701px) and (max-width:1366px){
  .brandHeader{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:1536/224;
    width:100%;
    overflow:hidden;
    display:block !important;
    background:#071d27;
  }
  .brandHeader>img{
    display:block;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:contain !important;
    object-position:center center !important;
  }
  .globalNav{position:sticky;top:0 !important}
  #puzzle{padding-top:8px;padding-bottom:16px}
  #puzzle .boardWrap{
    height:clamp(440px,58vh,700px) !important;
    max-height:calc(100dvh - 270px);
    min-height:390px;
    overflow:hidden;
  }
  #puzzle #board{max-width:100%;max-height:100%;display:block}
}
@media (min-width:701px) and (max-width:1366px) and (orientation:portrait){
  .brandHeader{aspect-ratio:1536/224}
  #puzzle .boardWrap{height:56vh !important;max-height:650px}
}
@media (min-width:701px) and (max-width:1366px) and (orientation:landscape){
  .brandHeader{aspect-ratio:1536/224}
  #puzzle .boardWrap{height:52vh !important;max-height:560px;min-height:350px}
}


/* SHOW EDITION 1.4 — wider iPad show header; master app intentionally untouched */
@media (min-width:701px) and (max-width:1366px){
  .brandHeader{
    aspect-ratio:auto !important;
    height:clamp(150px,17vw,220px) !important;
    display:flex !important;
    align-items:center;
    justify-content:center;
    overflow:hidden;
  }
  .brandHeader>img{
    width:min(94vw,1280px) !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
  }
}
@media (min-width:701px) and (max-width:1366px) and (orientation:portrait){
  .brandHeader{height:clamp(130px,18vw,190px) !important}
  .brandHeader>img{width:96vw !important}
}
@media (min-width:701px) and (max-width:1366px) and (orientation:landscape){
  .brandHeader{height:clamp(155px,15vw,210px) !important}
  .brandHeader>img{width:96vw !important}
}


/* SHOW EDITION 1.5 — approved compact show-home proof */
@media (min-width:701px) and (max-width:1366px){
 .homeHero{
   min-height:0 !important;
   height:auto !important;
   padding:14px 28px 12px !important;
   margin-top:10px !important;
 }
 .homeHero h1{
   font-size:clamp(32px,4.2vw,52px) !important;
   line-height:.92 !important;
   margin:.08em 0 !important;
 }
 .homeHero p{font-size:15px !important;margin:.22em 0 !important}
 .homeHero .eyebrow{font-size:10px !important;margin-bottom:2px !important}
 .homeSearch{margin-top:7px !important}
 .homeSearch input{padding:7px 4px !important}
 .homeChoices{gap:5px !important;margin:8px auto 4px !important}
 .homeChoice{padding:6px 12px !important;min-height:0 !important}
 .homeChoice .choiceIcon{width:30px !important;height:30px !important;font-size:17px !important}
 .homeChoice b{font-size:16px !important}
 .homeChoice small{font-size:10px !important}
 .homeChoice:after{font-size:22px !important}
}

/* SHOW EDITION 1.6 — corrected iPad logo; master untouched */
@media (min-width:701px) and (max-width:1366px){
 .brandHeader{height:clamp(150px,17vw,220px)!important;overflow:hidden!important;position:relative!important}
 .brandHeader>img{width:100%!important;max-width:none!important;height:135%!important;object-fit:cover!important;object-position:center 28%!important;transform:none!important}
}
@media (min-width:701px) and (max-width:1366px) and (orientation:landscape){
 .brandHeader{height:clamp(150px,15vw,205px)!important}
 .brandHeader>img{height:135%!important;object-position:center 28%!important}
}


/* SHOW EDITION 1.7 — show full header artwork; navigation sits below it. Master untouched. */
@media (min-width:701px) and (max-width:1366px){
 .brandHeader{
   height:auto!important;
   aspect-ratio:auto!important;
   overflow:visible!important;
   display:block!important;
   padding:0!important;
 }
 .brandHeader>img{
   display:block!important;
   width:100%!important;
   max-width:none!important;
   height:auto!important;
   object-fit:contain!important;
   object-position:center center!important;
   transform:none!important;
 }
}

/* SHOW EDITION 1.8 — approved compact header proof. Header asset itself is cropped. */
@media (min-width:701px) and (max-width:1366px){
 .brandHeader{
   width:100%!important;height:auto!important;min-height:0!important;
   aspect-ratio:2048/420!important;overflow:hidden!important;
   display:block!important;padding:0!important;margin:0!important;background:#071d27!important;
 }
 .brandHeader>img{
   display:block!important;width:100%!important;height:100%!important;max-width:none!important;
   object-fit:cover!important;object-position:center center!important;transform:none!important;margin:0!important;
 }
 .globalNav{position:sticky!important;top:0!important;margin-top:0!important}
 .homeHero{margin-top:10px!important}
}
