/* A cabinet, a tailor's counter, a folded map, and three very personal letters. */
.curio-cabinet{--cc-ink:#151d27;--cc-petrol:#244447;--cc-bone:#f0dfb8;--cc-red:#d86b42;--cc-candle:#eabb70;--cc-sage:#9eb899;--cc-muted:#a78d67}
#progress-overlay .progress-modal.curio-cabinet{width:min(1060px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 30px - var(--safe-top) - var(--safe-bottom));padding:24px 29px 18px;background:repeating-linear-gradient(2deg,transparent 0 3px,#856b4305 4px 5px),#e8d4aa;color:var(--cc-ink);border:1px solid #b99a63;border-radius:3px 17px 3px 9px;box-shadow:0 0 0 5px #14242b,0 0 0 6px #b6965d,0 20px 90px #090b1873;scrollbar-color:#a48756 #d4bd9022;overflow:auto;overscroll-behavior:contain;scroll-padding-top:70px}
#progress-overlay .curio-cabinet::before{display:none}
.curio-cabinet #close-progress{position:sticky;float:right;top:0;right:0;width:44px;height:44px;background:#1d353b;color:#ebd5a9;border:1px solid #668579;border-radius:3px 9px 3px 7px;box-shadow:inset 0 0 0 3px #345156;z-index:10;margin:-7px -9px 0 9px}
.curio-cabinet #close-progress:hover{background:#345e5d;color:#f6deb0}
.curio-cabinet .curio-mast{position:static;inset:auto;display:block;padding:0 0 17px;height:auto;background:none;box-shadow:none;z-index:auto;border-bottom:1px solid #a0845c55}
.curio-cabinet .curio-mast .eyebrow{color:#9f663e;font-size:8px;letter-spacing:1.8px;padding-top:6px}
.curio-cabinet .curio-mast h1{font:52px/.99 'Libre Caslon Display',Georgia,serif;letter-spacing:-.045em;color:#1e363d;max-width:680px;margin:13px 0 10px;padding:0;text-wrap:balance}
.curio-cabinet .curio-mast .curio-motto{font:italic 12px/1.4 Georgia,serif;color:#94734e;margin:0}
.curio-cabinet .curio-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 20px;border-bottom:1px solid #a78b5a66;position:sticky;top:-25px;z-index:8;background:#e8d4aaf5;padding-top:12px}
.curio-cabinet .curio-tab{display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;min-height:56px;padding:8px 10px;background:none;border:0;border-bottom:3px solid transparent;border-radius:0;color:#9c7b54;font-size:12px;font-weight:600;box-shadow:none}
.curio-cabinet .curio-tab:hover{background:#c3b07b20;color:#5d6e56}
.curio-cabinet .curio-tab[aria-selected=true]{color:#244447;border-bottom-color:#b86943;background:linear-gradient(transparent,#cfb88920)}
.curio-cabinet .curio-tab-art{width:31px;height:31px;stroke-width:1.8;color:currentColor;flex-shrink:0}
.curio-cabinet button:focus-visible,.curio-cabinet summary:focus-visible,.curio-cabinet .curio-page:focus-visible{outline:3px solid #386c67;outline-offset:3px}
.curio-cabinet .curio-page{min-width:0;outline:none}.curio-cabinet .curio-page[hidden],.curio-cabinet #area-list .unlock-card[hidden]{display:none!important}
.curio-cabinet .curio-room-note{color:#8c704f;font:12px/1.6 'DM Sans',sans-serif;margin:7px 0 15px}
/* Tailor: a full paper doll with a stitched measuring line and a clothing rail. */
.curio-cabinet .curio-atelier{display:grid;grid-template-columns:minmax(250px,.88fr) minmax(0,1.12fr);gap:29px;align-items:start}
.curio-cabinet .curio-doll-stage{margin:0;background:radial-gradient(ellipse at 50% 42%,#a1b49c3b,transparent 67%),#263e43;color:#d9cb9f;position:relative;border:1px solid #5b7468;border-radius:44% 44% 4px 4px / 17% 17% 4px 4px;padding:21px 22px 20px;overflow:hidden;min-width:0}
.curio-cabinet .curio-doll-stage::before{content:'';position:absolute;top:63px;bottom:125px;left:17px;border-left:1px dashed #c4bc8d60;pointer-events:none}
.curio-cabinet .curio-doll-stage::after{content:'I  II  III  IV  V  VI  VII  VIII';position:absolute;left:8px;top:99px;font:7px/1 Georgia,serif;letter-spacing:8px;writing-mode:vertical-rl;opacity:.4;pointer-events:none}
.curio-cabinet .curio-doll-label{text-align:center;font-size:7px;letter-spacing:2px;color:#b3b68e;margin:4px 0 7px}
.curio-cabinet .curio-doll-display{width:100%;max-width:270px;height:365px;margin:auto;position:relative;z-index:1}
.curio-cabinet .curio-paper-doll{width:100%;height:100%;display:block;overflow:visible;color:#e2cc9e;filter:drop-shadow(4px 7px 0 #13272e99)}
.curio-cabinet .curio-doll-caption{text-align:center;border-top:1px solid #a4b29540;padding-top:13px;position:relative}
.curio-cabinet .curio-look-name{font:33px/1.05 'Libre Caslon Display',Georgia,serif;color:#eedaa8;margin:0 0 6px}
.curio-cabinet .curio-look-note{font:italic 12px/1.5 Georgia,serif;color:#aeb898;margin:5px 0 13px}
.curio-cabinet .curio-look-state{display:inline-block;color:#dbb36e;font-size:7px;letter-spacing:1.15px;border-block:1px solid #b4b48e33;padding:7px 0;line-height:1.5}
.curio-cabinet .curio-garment-rail{min-width:0}
.curio-cabinet .curio-garment-rail>h2{font:32px/1.04 'Libre Caslon Display',Georgia,serif;color:#29454a;margin:4px 0 8px}
.curio-cabinet #costume-list{display:grid;gap:8px;max-height:463px;overflow:auto;padding:3px 7px 7px 2px;scrollbar-width:thin;scrollbar-color:#a78d5a77 transparent;scroll-snap-type:y proximity}
.curio-cabinet #costume-list .curio-garment{display:grid;grid-template-columns:62px minmax(0,1fr) 61px;gap:11px;align-items:center;border:1px solid #b1997355;border-radius:2px 9px 2px 5px;background:#f2e2bc80;padding:10px 10px 10px 7px;margin:0;position:relative;scroll-snap-align:start;box-shadow:2px 3px 0 #b79a6b1c}
.curio-cabinet #costume-list .curio-garment::before{content:'';width:5px;height:5px;border:1px solid #b0976f;border-radius:50%;position:absolute;top:4px;left:4px;background:#d6bd92}
.curio-cabinet #costume-list .curio-garment.curio-look-selected{border-color:#678e7a;background:#d9dfbd9c;box-shadow:inset 3px 0 #668f7a,2px 3px 0 #617f6626}
.curio-cabinet #costume-list .curio-garment.legendary{border-color:#b88b4c;background:linear-gradient(125deg,#ddc18a61,#e3d1aa5c)}
.curio-cabinet .curio-preview-look{background:#2d484c;border:1px solid #547369;border-radius:37% 37% 3px 3px / 15% 15% 3px 3px;min-width:58px;width:58px;height:79px;min-height:44px;padding:2px;box-shadow:none;display:block;position:relative}
.curio-cabinet .curio-preview-look:hover{background:#3e5e59;border-color:#86a68c;transform:rotate(-3deg)}
.curio-cabinet .curio-preview-look[aria-pressed=true]{background:#40605a;border-color:#a6bf92;box-shadow:0 0 0 2px #7e9a7040}
.curio-cabinet .curio-mini-doll{width:100%;height:100%;display:block;color:#eed6a6;filter:drop-shadow(1px 2px 0 #172a32)}
.curio-cabinet .curio-garment.locked .curio-preview-look{filter:saturate(.42);opacity:.74}
.curio-cabinet #costume-list h3{font:600 12px/1.3 'DM Sans',sans-serif;color:#32474a;margin:0 0 4px}
.curio-cabinet .curio-tailor-number{color:#a58b64;font-size:8px;letter-spacing:.5px;margin-right:7px;vertical-align:1px}
.curio-cabinet #costume-list p{font:10px/1.4 'DM Sans',sans-serif;color:#8f7554;margin:0 0 4px}
.curio-cabinet #costume-list small{font-size:8px;line-height:1.4;color:#a07144;display:block}
.curio-cabinet #costume-list .unlock-track{margin-top:6px;height:2px;background:#ae966033}.curio-cabinet #costume-list .unlock-track i{background:#648c74}
.curio-cabinet #costume-list [data-equip]{background:#b9c29b77;color:#43624d;border:1px solid #8da07b;border-radius:2px 7px 2px 5px;padding:8px 5px;font-size:9px;min-width:0;width:61px;min-height:44px;box-shadow:inset 0 0 0 2px #dae1b93b}
.curio-cabinet #costume-list [data-equip]:disabled{background:#c1b28b1a;color:#a28d68;border-color:#ab946c4d;box-shadow:none}
/* Map: four hand-illustrated places; region pins choose real travel slips. */
.curio-cabinet .curio-map-intro{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:5px}
.curio-cabinet .curio-map-intro h2{font:38px/1.05 'Libre Caslon Display',Georgia,serif;color:#2b484b;margin:0;white-space:nowrap}
.curio-cabinet .curio-map-intro p{max-width:390px;margin:0;font-size:11px}
.curio-cabinet .curio-map-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(190px,.8fr);gap:23px;align-items:center;margin-top:18px}
.curio-cabinet .curio-foldout{position:relative;min-width:0;filter:drop-shadow(4px 7px 0 #90764630);isolation:isolate}
.curio-cabinet .curio-foldout-art{width:100%;height:auto;display:block;overflow:visible}
.curio-cabinet .curio-map-pins{position:absolute;inset:0 0 28px;pointer-events:none}
.curio-cabinet .curio-map-pin{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f5e7c9e8;color:#654e3e;border:1px solid #ac8e5e;border-radius:2px 6px 2px 6px;min-width:100px;max-width:145px;min-height:44px;padding:5px 7px;box-shadow:2px 3px 0 #9b7a4433;text-align:center;gap:2px}
.curio-cabinet .curio-map-pin:hover{background:#fff0cdee;border-color:#647e64;box-shadow:2px 4px 0 #9b7a4444}
.curio-cabinet .curio-map-pin[aria-pressed=true]{color:#304c44;background:#c5d5adf0;border-color:#5e856d;box-shadow:0 0 0 3px #87a5794d,2px 3px 0 #617b5c40}
.curio-cabinet .curio-map-pin strong{font-size:10px;line-height:1.2;font-weight:600}
.curio-cabinet .curio-map-pin small{font-size:7px;line-height:1.2;color:#ac8a57}
.curio-cabinet .curio-map-pin.is-locked{border-style:dashed}.curio-cabinet .curio-map-pin.is-locked strong{color:#9a7c5b}
.curio-cabinet .curio-map-pin.is-current .curio-pin-dot{background:#dc9a51;box-shadow:0 0 0 3px #d9ad6f33}
.curio-cabinet .curio-pin-dot{width:5px;height:5px;background:#7c9d7b;border-radius:50%;position:absolute;top:-4px;left:calc(50% - 2px);border:1px solid #a4ad7b}
.curio-cabinet .curio-map-pin[data-region=town]{left:51%;top:77%}.curio-cabinet .curio-map-pin[data-region=orchard]{left:82%;top:59%}.curio-cabinet .curio-map-pin[data-region=hollow]{left:19%;top:76%}.curio-cabinet .curio-map-pin[data-region=festival]{left:58%;top:34%}
.curio-cabinet .curio-map-note{text-align:center;color:#9b8059;font:italic 10px Georgia,serif;margin-top:7px}
.curio-cabinet .curio-map-detail{border-block:1px solid #ac8b5b73;padding:14px 0 12px;position:relative}
.curio-cabinet .curio-map-detail::before{content:'⌖';position:absolute;top:-12px;left:calc(50% - 11px);background:#e8d4aa;padding:0 7px;color:#ac8754;font-size:20px;line-height:1}
.curio-cabinet .curio-map-detail-kicker{color:#a17346;font-size:7px;letter-spacing:1.3px;text-align:center;margin:1px 0 18px}
.curio-cabinet #area-list .unlock-card{display:block;border:0;margin:0;padding:0;background:none;box-shadow:none;color:#3b4e49;text-align:center}
.curio-cabinet #area-list .curio-region-seal{display:grid;place-items:center;width:53px;height:53px;margin:auto;border:1px solid #a88c5a;border-radius:50%;color:#9f7649;background:#c9b17f22}
.curio-cabinet .curio-region-icon{width:32px;height:32px;stroke-width:1.5}
.curio-cabinet #area-list h3{font:31px/1.03 'Libre Caslon Display',Georgia,serif;color:#2f4a49;margin:15px 0 10px}
.curio-cabinet #area-list p{font-size:11px;line-height:1.6;color:#8f7351;margin:0 0 12px}
.curio-cabinet #area-list small{color:#9f6b40;font-size:9px;line-height:1.5;display:block}
.curio-cabinet #area-list [data-travel]{background:#294a49;border:1px solid #6b8b71;color:#e2d7ab;border-radius:2px 8px 2px 6px;min-height:46px;width:100%;font-size:11px;margin-top:18px;padding:12px;box-shadow:inset 0 0 0 3px #60897633}
.curio-cabinet #area-list [data-travel]:disabled{background:#c6b28729;color:#aa9067;border-style:dashed;border-color:#a891664d;box-shadow:none}
.curio-cabinet #area-list .curio-region-note{font:italic 12px/1.6 Georgia,serif;color:#99825e;margin-top:15px;border-top:1px dashed #b1966c55;padding-top:12px}
/* Letters: portrait cameos, wax seals, keepsake folds, and honest checklists. */
.curio-cabinet .curio-letters-intro{display:flex;gap:20px;align-items:center;justify-content:center;padding:0 18px 9px}
.curio-cabinet .curio-post-bird{width:92px;height:76px;transform:rotate(-8deg);flex-shrink:0;color:#708768}
.curio-cabinet .curio-letters-intro p{font:italic 14px/1.6 Georgia,serif;max-width:340px;color:#8b7352;margin:0}
.curio-cabinet #quest-board>.eyebrow{color:#a1744c;text-align:center;font-size:7px;letter-spacing:1.7px}
.curio-cabinet #quest-board>h2{font:37px/1.03 'Libre Caslon Display',Georgia,serif;color:#2d474a;text-align:center;margin:12px 0 15px}
.curio-cabinet .curio-quest-rules{margin:0 auto 21px;max-width:580px;text-align:center;color:#9b7e55}
.curio-cabinet .curio-quest-rules summary{cursor:pointer;font-size:10px;min-height:44px;padding:12px 8px;border-block:1px dashed #ac8b5d4d}
.curio-cabinet .curio-quest-rules .quest-rules{font-size:11px;line-height:1.7;color:#9a805e;text-align:left;padding:0 12px}
.curio-cabinet #quest-board-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.curio-cabinet .curio-letter{position:relative;border:1px solid #bca371;border-radius:2px 8px 2px 4px;background:#f4e8c9;margin:0;padding:22px 22px 15px;box-shadow:3px 5px 0 #bfa77844,0 9px 20px #7d62330c;overflow:hidden;color:#3e4840}
.curio-cabinet .curio-letter::before{content:'';pointer-events:none;position:absolute;inset:7px;border:1px solid #bc9f6c33;border-radius:2px 5px 2px 3px}
.curio-cabinet .curio-letter[data-curio-letter=ivy]{background:linear-gradient(145deg,#d8e1c980,#edf0d6c4),#ecdfb8;transform:rotate(.6deg)}
.curio-cabinet .curio-letter[data-curio-letter=mabel]{transform:rotate(-.6deg)}
.curio-cabinet .curio-salutation{display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px;align-items:start;margin-bottom:16px}
.curio-cabinet .curio-portrait-holder{position:relative;min-width:0;transform:rotate(-4deg)}
.curio-cabinet .curio-portrait{width:100%;height:auto;display:block;filter:drop-shadow(2px 3px 0 #a58d5d2b);color:#745d46}
.curio-cabinet .curio-letter .eyebrow{font-size:7px;color:#a17348;line-height:1.65;letter-spacing:1px;margin-top:3px}
.curio-cabinet .curio-letter h3{font:29px/1.04 'Libre Caslon Display',Georgia,serif;color:#36504a;margin:10px 0 11px}
.curio-cabinet .curio-letter p{font-size:11px;line-height:1.7;color:#907456;margin:0 0 9px}
.curio-cabinet .curio-letter ol{padding-left:20px;margin:16px 0;color:#8f7756;font-size:11px;line-height:1.7}
.curio-cabinet .curio-letter li{padding-left:4px;margin:0 0 10px;border-bottom:1px solid #c8b98e38;padding-bottom:8px}
.curio-cabinet .curio-letter li.done{color:#63825f}.curio-cabinet .curio-letter li.done::marker{content:'✓  '}
.curio-cabinet .curio-letter .quest-current{background:#b6b9801a;border:1px dashed #a28c5c55;border-left:3px solid #9eae7e;border-radius:1px 5px 1px 3px;color:#987044;font-size:10px;line-height:1.65;padding:10px 12px}
.curio-cabinet .curio-letter [data-quest-travel],.curio-cabinet .curio-letter #visit-festival{background:#2c4f4c;border:1px solid #62846b;color:#e7d5ab;border-radius:2px 7px 2px 5px;box-shadow:inset 0 0 0 3px #5c8c7726;min-height:46px;font-size:11px;margin:17px 0 5px;padding:11px 17px;width:100%}
.curio-cabinet .curio-letter button:disabled{background:#c4b48526;color:#a78e65;border-color:#b19a6d66;border-style:dashed;box-shadow:none;opacity:1}
.curio-cabinet .curio-signature{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px;border-top:1px solid #c3ae7e55;padding-top:13px}
.curio-cabinet .curio-handwritten{font:italic 16px/1.4 'Libre Caslon Display',Georgia,serif;color:#8c6b4d;max-width:200px}
.curio-cabinet .curio-wax-seal{width:39px;height:39px;min-width:39px;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,#d08957,#aa593f 75%);color:#e5b17a;box-shadow:inset 0 0 0 4px #bf77507a,inset 0 0 0 5px #8e4f3b40,1px 3px 0 #754a3426;border:1px solid #9e5940;border-radius:42% 50% 41% 47%;font:14px Georgia,serif;transform:rotate(-12deg)}
.curio-cabinet #festival-board{margin-top:28px}
.curio-cabinet #festival-board .curio-carnival-invitation{background:repeating-linear-gradient(2deg,#60847b03 0 3px,transparent 4px 5px),#203d43;color:#e5ce9e;border-color:#788c73;padding:26px 29px 20px;box-shadow:4px 6px 0 #8f784f44}
.curio-cabinet #festival-board .curio-carnival-invitation::before{border-color:#bdb07f33;inset:8px}
.curio-cabinet #festival-board .curio-salutation{grid-template-columns:90px minmax(0,1fr);gap:23px}
.curio-cabinet #festival-board .curio-letter-copy{max-width:700px}
.curio-cabinet #festival-board .eyebrow{color:#c4a66c}
.curio-cabinet #festival-board h3{font-size:39px;color:#f0d5a2;margin:8px 0 10px}
.curio-cabinet #festival-board p{color:#abb597;font-size:12px;line-height:1.7}
.curio-cabinet #festival-board ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;padding-left:19px;margin:20px 0;color:#b9b99a}
.curio-cabinet #festival-board li{font-size:11px;border-bottom-color:#9cb19a26;line-height:1.7}
.curio-cabinet #festival-board .quest-current{border-color:#92a28355;color:#d1b679;background:#93a47c0d}
.curio-cabinet #festival-board .festival-note{font-size:10px!important;color:#98ab91!important;margin:13px 0 0}
.curio-cabinet #festival-board #visit-festival{background:#b39862;color:#213d3c;border-color:#c7b277;max-width:300px;box-shadow:inset 0 0 0 3px #e9d29a33}
.curio-cabinet #festival-board #visit-festival:disabled{background:#9ca88116;color:#a2ad8e;border-color:#9fad8640}
.curio-cabinet #festival-board .curio-signature{border-color:#b5b68833}.curio-cabinet #festival-board .curio-handwritten{color:#c7bc90;max-width:none;font-size:20px}
/* A slim accession ledger retains the real lifetime numbers. */
.curio-cabinet .curio-ledger{border-top:1px solid #ac8e5d66;padding-top:15px;margin-top:25px}
.curio-cabinet .curio-ledger .legacy-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;justify-content:normal;background:none;border:0;padding:0 0 13px;margin:0}
.curio-cabinet .curio-ledger .legacy-totals>div{display:flex;align-items:baseline;gap:12px;border-right:1px solid #b49a6b4d;padding-right:18px;min-width:0}.curio-cabinet .curio-ledger .legacy-totals>div:last-child{border-right:0}
.curio-cabinet .curio-ledger .legacy-totals small{color:#a17e51;font-size:7px;letter-spacing:.8px;line-height:1.4}.curio-cabinet .curio-ledger .legacy-totals strong{font:25px Georgia,serif;color:#466155;margin:0;white-space:nowrap}
.curio-cabinet .curio-ledger .curio-collection-note{font-size:10px;line-height:1.6;color:#a28a62;margin:0 0 7px}.curio-cabinet .curio-ledger #progress-save-note{font-size:8px;letter-spacing:.2px;border:0;padding:0;margin:0;color:#ae966b}
@media(max-width:760px){
 #progress-overlay .progress-modal.curio-cabinet{width:calc(100vw - 22px);padding:20px;max-height:calc(100dvh - 22px - var(--safe-top) - var(--safe-bottom));scroll-padding-top:66px}
 .curio-cabinet .curio-mast h1{font-size:40px;max-width:460px;padding-right:32px}.curio-cabinet .curio-mast .eyebrow{font-size:7px;letter-spacing:1.1px}.curio-cabinet .curio-mast .curio-motto{font-size:11px;line-height:1.5}
 .curio-cabinet .curio-tabs{top:-21px;margin-bottom:17px;padding-top:10px}.curio-cabinet .curio-tab{flex-direction:column;gap:4px;padding:8px 3px;min-height:64px;font-size:10px;line-height:1.2}.curio-cabinet .curio-tab-art{width:26px;height:26px}
 .curio-cabinet .curio-atelier{grid-template-columns:minmax(180px,.8fr) minmax(0,1fr);gap:18px}.curio-cabinet .curio-doll-stage{padding:17px 15px}.curio-cabinet .curio-doll-display{height:285px}.curio-cabinet .curio-look-name{font-size:28px}.curio-cabinet .curio-look-note{font-size:11px}.curio-cabinet .curio-look-state{font-size:6px;letter-spacing:.7px}
 .curio-cabinet .curio-garment-rail>h2{font-size:27px}.curio-cabinet .curio-garment-rail>.curio-room-note{font-size:10px}.curio-cabinet #costume-list{max-height:390px;gap:7px;padding-right:3px}.curio-cabinet #costume-list .curio-garment{grid-template-columns:48px minmax(0,1fr);gap:8px;padding:9px 7px}.curio-cabinet .curio-preview-look{width:46px;min-width:44px;height:65px}.curio-cabinet #costume-list h3{font-size:11px}.curio-cabinet #costume-list p{font-size:9px}.curio-cabinet #costume-list small{font-size:8px}.curio-cabinet #costume-list [data-equip]{grid-column:2;width:100%;margin:0;font-size:9px;min-height:44px}
 .curio-cabinet .curio-map-intro{display:block}.curio-cabinet .curio-map-intro h2{font-size:34px}.curio-cabinet .curio-map-intro p{margin-top:8px}.curio-cabinet .curio-map-layout{grid-template-columns:minmax(0,1.6fr) minmax(160px,.8fr);gap:16px}.curio-cabinet .curio-map-pin{min-width:85px;max-width:110px;padding:5px}.curio-cabinet .curio-map-pin strong{font-size:8px}.curio-cabinet .curio-map-pin small{font-size:6px}.curio-cabinet #area-list h3{font-size:28px}.curio-cabinet #area-list p{font-size:10px}.curio-cabinet .curio-map-detail-kicker{font-size:6px;letter-spacing:.8px}
 .curio-cabinet #quest-board-cards{gap:13px}.curio-cabinet .curio-letter{padding:17px 15px 14px}.curio-cabinet .curio-salutation{grid-template-columns:60px minmax(0,1fr);gap:10px}.curio-cabinet .curio-letter h3{font-size:25px}.curio-cabinet .curio-letter .eyebrow{font-size:6px;letter-spacing:.5px}.curio-cabinet .curio-letter p,.curio-cabinet .curio-letter ol{font-size:10px}.curio-cabinet .curio-letter .quest-current{font-size:9px}.curio-cabinet .curio-handwritten{font-size:15px}.curio-cabinet .curio-wax-seal{width:32px;height:32px;min-width:32px;font-size:12px}
 .curio-cabinet #festival-board .curio-carnival-invitation{padding:21px}.curio-cabinet #festival-board .curio-salutation{grid-template-columns:78px minmax(0,1fr);gap:17px}.curio-cabinet #festival-board h3{font-size:33px}.curio-cabinet #festival-board p{font-size:11px}.curio-cabinet #festival-board ol{gap:17px}.curio-cabinet #festival-board li{font-size:10px}
 .curio-cabinet .curio-ledger .legacy-totals{gap:10px}.curio-cabinet .curio-ledger .legacy-totals>div{display:block;padding-right:8px}.curio-cabinet .curio-ledger .legacy-totals small{font-size:6px;letter-spacing:.4px}.curio-cabinet .curio-ledger .legacy-totals strong{display:block;font-size:23px;margin-top:6px}
}
@media(max-width:480px){
 #progress-overlay .progress-modal.curio-cabinet{padding:18px 16px;width:calc(100vw - 18px)}.curio-cabinet .curio-mast{padding-bottom:13px}.curio-cabinet .curio-mast h1{font-size:35px;margin:11px 0 9px;max-width:280px}.curio-cabinet .curio-mast .eyebrow{font-size:6px;letter-spacing:1px;max-width:230px;line-height:1.6}.curio-cabinet .curio-mast .curio-motto{font-size:10px;line-height:1.6;padding-right:10px}
 .curio-cabinet #close-progress{margin:-5px -5px 0 7px}.curio-cabinet .curio-tabs{top:-19px;padding-top:9px;margin-bottom:15px}.curio-cabinet .curio-tab{font-size:9px;min-height:62px;gap:3px;padding-inline:2px}.curio-cabinet .curio-tab-art{width:25px;height:25px}
 .curio-cabinet .curio-atelier{display:block}.curio-cabinet .curio-doll-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 8px;padding:18px 15px 14px;border-radius:30% 8px 3px 3px / 13% 8px 3px 3px;margin-bottom:23px}.curio-cabinet .curio-doll-label{grid-column:1/-1;letter-spacing:1.3px;font-size:6px;margin:0 0 6px}.curio-cabinet .curio-doll-display{height:230px;width:100%;max-width:none;grid-column:1}.curio-cabinet .curio-doll-caption{grid-column:2;align-self:center;border:0;padding:0 5px 0 0;text-align:left}.curio-cabinet .curio-look-name{font-size:29px;line-height:1.02}.curio-cabinet .curio-look-note{font-size:11px;line-height:1.55;margin:12px 0}.curio-cabinet .curio-look-state{font-size:6px;line-height:1.7;letter-spacing:.6px;border-block-color:#adb58a40;padding:8px 0}.curio-cabinet .curio-doll-stage::before{bottom:28px;top:55px;left:10px}.curio-cabinet .curio-doll-stage::after{left:2px;top:77px;font-size:5px;letter-spacing:5px}
 .curio-cabinet .curio-garment-rail>h2{font-size:31px}.curio-cabinet .curio-garment-rail>.curio-room-note{font-size:11px;margin-bottom:15px}.curio-cabinet #costume-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible;gap:10px;padding:0;scroll-snap-type:none}.curio-cabinet #costume-list .curio-garment{grid-template-columns:47px minmax(0,1fr);gap:6px;padding:10px 8px 9px;align-items:start;border-radius:2px 9px 2px 5px}.curio-cabinet .curio-preview-look{width:45px;height:65px;min-height:65px}.curio-cabinet #costume-list .curio-garment>div{min-width:0}.curio-cabinet #costume-list h3{font-size:10px;line-height:1.35;margin:0 0 5px}.curio-cabinet .curio-tailor-number{font-size:6px;margin-right:4px}.curio-cabinet #costume-list p{display:none}.curio-cabinet #costume-list small{font-size:7px;line-height:1.5}.curio-cabinet #costume-list [data-equip]{grid-column:1/-1;margin-top:3px;min-height:44px;font-size:9px}
 .curio-cabinet .curio-map-intro h2{font-size:33px}.curio-cabinet .curio-map-intro p{font-size:11px;line-height:1.6}.curio-cabinet .curio-map-layout{display:block;margin-top:15px}.curio-cabinet .curio-foldout{margin-inline:-7px}.curio-cabinet .curio-map-pin{min-width:80px;max-width:100px;min-height:44px;padding:4px 5px}.curio-cabinet .curio-map-pin strong{font-size:8px}.curio-cabinet .curio-map-pin small{font-size:6px}.curio-cabinet .curio-map-pin[data-region=hollow]{left:18%;top:76%}.curio-cabinet .curio-map-pin[data-region=orchard]{left:82%;top:61%}.curio-cabinet .curio-map-note{font-size:9px;margin-top:10px}.curio-cabinet .curio-map-detail{margin-top:27px;padding:14px 15px;background:#b3bb9112}.curio-cabinet .curio-map-detail-kicker{font-size:7px;margin-bottom:15px}.curio-cabinet #area-list .curio-region-seal{width:43px;height:43px}.curio-cabinet .curio-region-icon{width:26px;height:26px}.curio-cabinet #area-list h3{font-size:33px;margin:13px 0 10px}.curio-cabinet #area-list p{font-size:12px}.curio-cabinet #area-list small{font-size:10px}.curio-cabinet #area-list [data-travel]{font-size:12px}.curio-cabinet #area-list .curio-region-note{font-size:12px;margin-bottom:0}
 .curio-cabinet .curio-letters-intro{gap:13px;padding:0 0 12px}.curio-cabinet .curio-post-bird{width:72px;height:64px}.curio-cabinet .curio-letters-intro p{font-size:12px;line-height:1.6}.curio-cabinet #quest-board>h2{font-size:33px;margin:10px 0 13px}.curio-cabinet #quest-board>.eyebrow{font-size:6px;letter-spacing:1.4px}.curio-cabinet #quest-board-cards{display:block}.curio-cabinet .curio-letter{padding:20px 18px 16px;margin-bottom:21px}.curio-cabinet .curio-salutation{grid-template-columns:73px minmax(0,1fr);gap:13px;margin-bottom:15px}.curio-cabinet .curio-letter h3{font-size:29px}.curio-cabinet .curio-letter .eyebrow{font-size:6px;letter-spacing:.7px}.curio-cabinet .curio-letter p,.curio-cabinet .curio-letter ol{font-size:11px;line-height:1.7}.curio-cabinet .curio-letter .quest-current{font-size:10px}.curio-cabinet .curio-handwritten{font-size:17px}.curio-cabinet .curio-wax-seal{width:36px;height:36px;min-width:36px}.curio-cabinet .curio-quest-rules{margin-bottom:20px}
 .curio-cabinet #festival-board{margin-top:25px}.curio-cabinet #festival-board .curio-carnival-invitation{padding:22px 19px 18px}.curio-cabinet #festival-board .curio-salutation{grid-template-columns:65px minmax(0,1fr);gap:12px}.curio-cabinet #festival-board h3{font-size:31px;line-height:1.02}.curio-cabinet #festival-board .eyebrow{font-size:6px;letter-spacing:.6px}.curio-cabinet #festival-board p{font-size:11px}.curio-cabinet #festival-board ol{display:block;margin:19px 0}.curio-cabinet #festival-board li{font-size:11px;margin-bottom:12px}.curio-cabinet #festival-board .curio-handwritten{font-size:18px;line-height:1.35}
 .curio-cabinet .curio-ledger{margin-top:23px}.curio-cabinet .curio-ledger .legacy-totals{gap:9px}.curio-cabinet .curio-ledger .legacy-totals strong{font-size:23px}.curio-cabinet .curio-ledger .legacy-totals small{font-size:6px;letter-spacing:.2px}.curio-cabinet .curio-ledger .curio-collection-note{font-size:9px;line-height:1.6}.curio-cabinet .curio-ledger #progress-save-note{font-size:8px;line-height:1.5}
}
@media(max-width:350px){
 #progress-overlay .progress-modal.curio-cabinet{padding:17px 14px}.curio-cabinet .curio-mast h1{font-size:33px;max-width:245px;padding-right:20px}.curio-cabinet .curio-mast .eyebrow{font-size:5px;letter-spacing:.9px}.curio-cabinet .curio-mast .curio-motto{font-size:9px}.curio-cabinet .curio-tab{font-size:8px}.curio-cabinet .curio-doll-stage{padding:17px 12px 13px}.curio-cabinet .curio-doll-display{height:207px}.curio-cabinet .curio-look-name{font-size:26px}.curio-cabinet .curio-look-note{font-size:10px}.curio-cabinet #costume-list{gap:7px}.curio-cabinet #costume-list .curio-garment{padding:10px 6px 8px;grid-template-columns:44px minmax(0,1fr);gap:5px}.curio-cabinet .curio-preview-look{width:44px;min-width:44px;height:62px}.curio-cabinet #costume-list h3{font-size:9px}.curio-cabinet #costume-list small{font-size:6px}.curio-cabinet .curio-tailor-number{display:block;margin:0 0 3px;font-size:6px}.curio-cabinet .curio-map-pin{min-width:73px;max-width:88px}.curio-cabinet .curio-map-pin strong{font-size:7px}.curio-cabinet .curio-map-pin small{font-size:5px}.curio-cabinet .curio-salutation{grid-template-columns:64px minmax(0,1fr);gap:10px}.curio-cabinet .curio-letter h3{font-size:27px}.curio-cabinet .curio-letter{padding:19px 15px 15px}.curio-cabinet .curio-ledger .legacy-totals strong{font-size:20px}
}
@media(max-height:500px) and (orientation:landscape){
 #progress-overlay .progress-modal.curio-cabinet{max-height:calc(100dvh - 16px - var(--safe-top) - var(--safe-bottom));width:calc(100vw - 20px);padding:14px 22px;scroll-padding-top:58px}.curio-cabinet .curio-mast{padding-bottom:9px}.curio-cabinet .curio-mast h1{font-size:35px;margin:8px 0 5px;max-width:460px;padding-right:35px}.curio-cabinet .curio-mast .eyebrow{font-size:6px;letter-spacing:1px}.curio-cabinet .curio-mast .curio-motto{font-size:10px}.curio-cabinet .curio-tabs{top:-15px;grid-template-columns:repeat(4,minmax(0,1fr));padding-top:6px;margin-bottom:14px}.curio-cabinet .curio-tab{flex-direction:row;min-height:47px;gap:7px;font-size:10px;padding:5px}.curio-cabinet .curio-tab-art{width:25px;height:25px}
 .curio-cabinet .curio-atelier{display:grid;grid-template-columns:210px minmax(0,1fr);gap:20px}.curio-cabinet .curio-doll-stage{display:block;padding:16px 14px}.curio-cabinet .curio-doll-display{height:220px;max-width:170px}.curio-cabinet .curio-doll-label{font-size:6px}.curio-cabinet .curio-doll-caption{text-align:center;border-top:1px solid #a4b29540;padding-top:12px}.curio-cabinet .curio-look-name{font-size:28px}.curio-cabinet .curio-look-note{font-size:10px}.curio-cabinet .curio-garment-rail>h2{font-size:27px}.curio-cabinet #costume-list{max-height:none;overflow:visible;display:grid;grid-template-columns:1fr}.curio-cabinet #costume-list .curio-garment{grid-template-columns:48px minmax(0,1fr);gap:8px}.curio-cabinet #costume-list p{display:block;font-size:9px}.curio-cabinet #costume-list h3{font-size:11px}.curio-cabinet #costume-list small{font-size:8px}.curio-cabinet #costume-list [data-equip]{grid-column:2;font-size:10px}.curio-cabinet .curio-preview-look{width:47px;min-width:44px;height:65px}
 .curio-cabinet .curio-map-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(165px,.8fr);gap:18px}.curio-cabinet .curio-map-intro{display:block}.curio-cabinet .curio-map-intro h2{font-size:30px}.curio-cabinet .curio-map-intro p{font-size:10px}.curio-cabinet .curio-map-pin{min-width:76px;max-width:100px;min-height:44px}.curio-cabinet .curio-map-pin strong{font-size:7px}.curio-cabinet .curio-map-pin small{font-size:6px}.curio-cabinet .curio-map-note{font-size:8px}.curio-cabinet #area-list h3{font-size:27px}.curio-cabinet #area-list p{font-size:10px}.curio-cabinet #area-list .curio-region-note{font-size:11px}.curio-cabinet .curio-map-detail-kicker{font-size:6px}
 .curio-cabinet .curio-letters-intro{padding-bottom:6px}.curio-cabinet .curio-post-bird{width:67px;height:55px}.curio-cabinet .curio-letters-intro p{font-size:12px}.curio-cabinet #quest-board>h2{font-size:32px}.curio-cabinet #quest-board-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.curio-cabinet .curio-letter{padding:17px 14px}.curio-cabinet .curio-salutation{display:block}.curio-cabinet .curio-portrait-holder{width:62px;float:left;margin:0 10px 8px 0}.curio-cabinet .curio-letter h3{font-size:27px}.curio-cabinet .curio-letter p,.curio-cabinet .curio-letter ol{font-size:10px}.curio-cabinet .curio-letter .quest-current{font-size:9px}.curio-cabinet #festival-board .curio-salutation{display:grid;grid-template-columns:80px minmax(0,1fr)}.curio-cabinet #festival-board .curio-portrait-holder{float:none;width:auto;margin:0}.curio-cabinet #festival-board ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.curio-cabinet #festival-board h3{font-size:34px}
}
@media(prefers-reduced-motion:reduce){.curio-cabinet *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Pocket maps use short names printed at a legible size, with the full
   destination and live lock state retained in each button's accessible name. */
.curio-cabinet .curio-map-pin .curio-pin-short{display:none}
@media(max-width:430px){
 .curio-cabinet .curio-map-pin strong,.curio-cabinet .curio-map-pin small{display:none}
 .curio-cabinet .curio-map-pin .curio-pin-short{display:block;font:600 10px/1.25 'DM Sans',sans-serif;letter-spacing:0;color:inherit}
 .curio-cabinet .curio-map-pin{min-height:44px;min-width:73px;max-width:100px;padding:8px 6px}
 .curio-cabinet .curio-map-pin.is-locked .curio-pin-short{color:#927451}
}

/* Four stitched dividers keep the character book within the existing cabinet. */
.curio-cabinet .curio-tab{min-width:0}.curio-cabinet .curio-tab>span{overflow-wrap:anywhere}
@media(max-width:480px){.curio-cabinet .curio-tab{font-size:8px}.curio-cabinet .curio-tab-art{width:23px;height:23px}.curio-cabinet .curio-tab>span{max-width:70px}}
