:root{--ink:#14241e;--muted:#879381;--cream:#eeeddc;--acid:#d7df9f;--line:#ffffff17}*{box-sizing:border-box}body{margin:0;color:var(--cream);background:#101c18;font:15px/1.6 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background-image:radial-gradient(ellipse at 50% 0%,#26392a55,transparent 60%)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--acid);outline-offset:4px}.masthead{max-width:1500px;margin:auto;padding:26px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.logo{font:900 41px/1 Georgia,serif;letter-spacing:-3px}.logo-star{font:23px Georgia;color:var(--acid);vertical-align:top;margin-left:7px;letter-spacing:0}.button-eye{position:relative}.button-eye:after{content:'×';position:absolute;left:27%;top:35%;font:12px system-ui;color:#101c18;line-height:1}.second{display:inline-block;transform:rotate(-18deg)}.location{font-size:9px;letter-spacing:1.8px;color:#b2bba7}.location span{color:#687a6b}.quiet{border:1px solid #8c9b7740;background:transparent;padding:10px 15px;border-radius:6px;font-size:12px}.quiet:hover{background:#ffffff0b}.sound{white-space:nowrap}.sound span{color:var(--acid)}main{max-width:1280px;margin:auto;padding:0 44px}.intro{position:relative;text-align:center;padding:54px 0 36px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.5px;color:#b2bd95}.intro .eyebrow{display:flex;justify-content:center;align-items:center;gap:9px}.eyebrow span{height:5px;width:5px;background:var(--acid);border-radius:100%}.intro h1{font:normal clamp(48px,5.8vw,80px)/1.1 Georgia,serif;letter-spacing:-3px;margin:18px 0}.intro h1 em{color:var(--acid);font-weight:normal}.intro p{font-size:15px;color:#a8b29d;margin:15px 0}.intro-note{position:absolute;right:0;top:95px;display:grid;text-align:left;font:8px/2 system-ui;letter-spacing:1px;color:#829079;transform:rotate(5deg)}.mobile-break{display:none}.playground{position:relative;border:1px solid #a3b5783d;border-radius:13px;overflow:hidden;background:#17281e;box-shadow:0 20px 60px #0003}.scene-top{position:absolute;z-index:1;left:24px;right:24px;top:19px;display:flex;gap:8px;align-items:center;pointer-events:none;font-size:8px;letter-spacing:2px;color:#afb99b}.live-dot{width:5px;height:5px;border-radius:50%;background:#bfcd85;box-shadow:0 0 8px #bfcd85}.scene-weather{margin-left:auto;color:#79896c}.playground canvas{display:block;width:100%;aspect-ratio:1100/660;touch-action:none;user-select:none;cursor:crosshair}.scene-label{position:absolute;left:5%;top:58%;display:grid;pointer-events:none;transform:rotate(-9deg);color:#d0d4a1}.scene-script{font:italic 22px Georgia,serif}.scene-label>span+span{font-size:8px;letter-spacing:3px;margin:5px}.stage-tools{position:absolute;bottom:0;left:0;right:0;padding:20px 24px;display:flex;gap:15px;align-items:center;background:linear-gradient(transparent,#102019eb)}.selected-info{display:grid;margin-right:auto}.small-label{font-size:8px;letter-spacing:2px;color:#93a27c}.selected-info strong{font-size:13px;font-weight:500}.reset{background:#d5dfa2;color:#253721;border:0;border-radius:6px;padding:12px 18px;font-size:12px;font-weight:600;box-shadow:0 3px 0 #1114}.reset:hover{background:#e3ebba}.reset span{font-size:20px;line-height:0;margin-right:7px}.reset:disabled{opacity:.65}.expand{font-size:20px;line-height:1.1}.tool-shed{margin-top:37px}.shed-heading{display:flex;align-items:center;justify-content:space-between}.shed-heading .eyebrow{margin:0 0 5px;font-size:9px}h2{font:normal 30px/1.2 Georgia,serif;letter-spacing:-.7px;margin:8px 0 20px}.tool-count{font-size:8px;letter-spacing:2px;color:#819174}.filters{display:flex;gap:8px;margin:0 0 20px;overflow-x:auto}.filters button{background:transparent;border:1px solid #80916c38;color:#9caa8e;padding:7px 15px;border-radius:30px;font-size:11px;white-space:nowrap}.filters button.active{background:#d7df9f;color:#263720;border-color:#d7df9f}.tools{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.tool{position:relative;background:linear-gradient(145deg,#24372a,#1c2d23);border:1px solid #71825d38;border-radius:8px;min-height:111px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#bcc7ab;font-size:10px;transition:transform .18s,border-color .18s,background .18s;padding:12px 5px}.tool:hover{transform:translateY(-3px);background:#2a4030;border-color:#bac88b77}.tool.selected{border-color:#d6df9e;background:#35452b;color:#f1f0d2;box-shadow:inset 0 0 0 1px #d6df9e22}.tool.selected:before{content:'';position:absolute;top:8px;right:8px;width:4px;height:4px;background:#d7e49c;border-radius:50%}.tool svg{width:42px;height:38px;overflow:visible;filter:drop-shadow(0 4px 4px #0005)}.tool[hidden]{display:none}.tool-tip{display:flex;align-items:center;gap:9px;font-size:11px;color:#9caa8c;margin-top:12px}.tool-tip p{margin:8px 0}.tool-tip>span:first-child{font-size:20px;color:#ced998}.keyboard-hint{font-size:8px;letter-spacing:1.4px;margin-left:auto;color:#6f826c}.closing{text-align:center;margin:54px 0 48px}.mini-stitch{display:inline-flex;align-items:center;justify-content:center;color:var(--acid)}.closing p{font:italic 25px Georgia,serif;margin:12px 0}.closing>span:last-child{font-size:11px;color:#84967d}.closing em{color:#bac79f}footer{max-width:1500px;margin:auto;padding:25px 5%;display:flex;gap:23px;align-items:center;border-top:1px solid var(--line);font-size:10px;color:#84927c}.footer-brand{font:bold 22px Georgia,serif;letter-spacing:-1px;color:#cad4b5}footer nav{margin-left:auto;display:flex;gap:22px;align-items:center}footer button{background:none;border:0;padding:0;color:inherit;font-size:10px}footer a:hover,footer button:hover{color:#e0e7b8}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.legal{max-width:790px;padding:55px 25px 100px}.legal h1{font:55px Georgia;letter-spacing:-2px}.legal h2{margin-top:35px}.legal p{color:#b3c0a4}.legal a{color:#d8e29d;text-decoration:underline}.noscript{position:fixed;bottom:0;left:0;right:0;background:#dfdba4;color:#15251b;padding:20px;margin:0}.playground:fullscreen{border:0;border-radius:0;display:grid;place-items:center;background:#101c18}.playground:fullscreen canvas{max-height:100vh;max-width:calc(100vh * 1.667);width:100%}.playground:fullscreen .stage-tools{padding:25px}.playground:fullscreen .scene-label{display:none}@media(max-width:1100px){.intro-note{display:none}.tools{grid-template-columns:repeat(7,minmax(0,1fr))}.tool{min-height:100px}.scene-label{top:60%}}@media(max-width:700px){.mobile-break{display:block}.masthead{padding:21px 22px}.logo{font-size:35px}.location{display:none}main{padding:0 16px}.intro{padding:35px 0 26px}.intro h1{font-size:48px;letter-spacing:-2.3px}.intro .eyebrow{font-size:8px;letter-spacing:2px}.intro p{font-size:12px}.scene-top{top:15px;left:16px;right:16px;letter-spacing:1px}.scene-weather{display:none}.playground canvas{aspect-ratio:4/5}.scene-label{left:7%;top:64%}.scene-script{font-size:16px}.scene-label>span+span{font-size:6px}.stage-tools{padding:17px 14px;gap:8px}.reset{padding:12px;font-size:10px}.selected-info strong{font-size:10px}.small-label{font-size:6px}.expand{padding:9px}.tools{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.tool{min-height:92px;font-size:9px}.tool svg{width:33px;height:33px}.tool-count{display:none}.tool-shed{margin-top:29px}h2{font-size:27px}.filters button{padding:7px 13px;font-size:10px}.keyboard-hint{display:none}.closing{margin:39px 0}.closing p{font-size:22px}footer{flex-wrap:wrap;padding:25px 22px;gap:10px 20px}footer p{display:none}footer nav{gap:15px}.tool-tip{font-size:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.doll-picker{max-width:1100px;margin:36px auto 0;padding:24px 28px;border:1px solid #526446;border-radius:16px;background:#18271d}.doll-picker h2{font-size:27px;margin:4px 0 20px}.doll-picker .eyebrow{margin:0}#dolls{display:flex;gap:12px;flex-wrap:wrap}#dolls button{padding:12px 20px;border:1px solid #758562;border-radius:24px;background:#26372a;color:#e4e6ca;cursor:pointer;font:inherit}#dolls button.selected{background:#d4df9b;color:#18271d;border-color:#d4df9b}#doll-description{font-size:14px;color:#aebba0;margin-bottom:0}@media(max-width:600px){.doll-picker{margin:20px 16px 0;padding:20px}}

.tool .pin-tool-art{width:42px;height:48px;object-fit:contain;transform:scale(1.2);filter:drop-shadow(0 3px 3px #0005)}

.tool .crawfish-tool-art{width:40px;height:44px;object-fit:contain;filter:drop-shadow(0 2px 2px #0006)}


.stage-tools{flex-wrap:wrap}
#camera{width:58px;height:52px;min-width:58px;padding:3px;border:1px solid #dce8af;border-radius:10px;background:#dce8af;color:#17281c;display:grid;place-items:center;flex-shrink:0;cursor:pointer}
#camera svg{display:block;width:50px;height:43px}
#camera:hover{background:#ebf4cd;transform:translateY(-1px)}
#camera:focus-visible{outline:3px solid white;outline-offset:3px}
#photo-dialog{box-sizing:border-box;width:min(440px,calc(100vw - 24px));height:min(660px,calc(100vh - 24px));height:min(660px,calc(100dvh - 24px));max-width:none;max-height:none;border:1px solid #819464;border-radius:18px;background:#14251d;color:#edf0dc;padding:16px;overflow:visible}
#photo-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:12px}
#photo-dialog::backdrop{background:#000b}
.photo-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
#photo-title{font-size:22px;line-height:1.2;margin:0}.photo-heading form{margin:0}
#photo-dialog button,#photo-save{box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:10px 16px;border-radius:10px;background:#d4dfa1;color:#17281c;border:0;margin:0;cursor:pointer;font:inherit;text-decoration:none}
#photo-dialog .photo-close{width:44px;padding:0;background:transparent;color:#edf0dc;font-size:22px}
.photo-image{min-height:0;min-width:0;display:flex;justify-content:center;align-items:center;overflow:hidden;border-radius:9px}
#photo-preview{display:block;width:100%;height:100%;min-height:0;object-fit:contain}
#photo-status{margin:0;font-size:13px;line-height:1.4}
.photo-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.photo-actions>*{flex:1}
#photo-share[hidden]{display:none}
@media(max-height:460px) and (min-width:480px){
 #photo-dialog{width:min(680px,calc(100vw - 24px))}
 #photo-dialog[open]{grid-template-columns:minmax(0,1fr) minmax(180px,1fr);grid-template-rows:auto minmax(0,1fr) auto}
 .photo-heading{grid-column:1/-1}.photo-image{grid-column:1;grid-row:2/4}#photo-status{grid-column:2;align-self:center}.photo-actions{grid-column:2;flex-direction:column}
}
#photo-dialog{height:min(660px,calc(100dvh - 24px),calc(100vw + 170px));font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(150deg,#21392e,#13271f 60%,#101f19);border-color:#7c956c88;box-shadow:0 28px 90px #0009,0 1px 0 #e6efcc18 inset}
#photo-title{font-family:Georgia,serif;font-weight:400;letter-spacing:-.4px}
#photo-dialog[open]{animation:portrait-in .18s ease-out}
.photo-image{background:#0d1d16;box-shadow:0 0 0 1px #e0e9c412 inset}
#photo-dialog .photo-close:hover{background:#e0e9c415}
#photo-dialog .photo-actions>*{font-weight:600;transition:background .15s,transform .15s}
#photo-dialog .photo-actions>*:hover{background:#e8f2c4;transform:translateY(-1px)}
#photo-dialog :focus-visible{outline:2px solid #f0f7dc;outline-offset:3px}
#photo-status{color:#b9c7b8}
@keyframes portrait-in{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#photo-dialog[open]{animation:none}#photo-dialog .photo-actions>*{transition:none}}

/* Vèvè cabinet: generous medallions, readable names, and the existing bayou palette. */
.tools .tool{min-height:145px;gap:5px;padding:12px 7px;justify-content:flex-start}
.tool-image{height:78px;width:100%;display:flex;justify-content:center;align-items:center}
.tool .veve-tool-art{height:78px;width:78px;object-fit:contain;filter:drop-shadow(0 4px 3px #0008)}
.veve-tool .tool-image svg{height:62px;width:62px;color:#d4bb85}
.tool-name{font-size:12px;line-height:1.3;min-height:2.6em;display:flex;align-items:center;justify-content:center;text-align:center}
.veve-tool small{font-size:8px;letter-spacing:1.5px;color:#9ca87b}
.pin-guide-link{display:inline-block;font-size:11px;color:#c8d3a0;margin-top:15px;text-decoration:underline;text-underline-offset:4px}
.pin-guide-link:hover{color:#f2ebc6}
.selected-info{min-width:0}.selected-info strong{max-width:230px;line-height:1.35;overflow-wrap:normal}
@media(max-width:700px){.tools{grid-template-columns:repeat(3,minmax(0,1fr))}.tools .tool{min-height:142px}.tool .veve-tool-art{width:74px;height:74px}.tool-name{font-size:11px}.filters{flex-wrap:wrap;overflow:visible}.selected-info{flex-basis:100%;margin-bottom:2px}.selected-info strong{max-width:none;font-size:12px}.stage-tools .reset{margin-right:auto}.tool-tip{font-size:12px;align-items:flex-start}.tool-tip p{line-height:1.5}}
/* The collection guide shares the bayou's dark paper and warm metal palette. */
.pin-guide{max-width:1080px;margin:0 auto;padding:48px 24px 80px}.pin-guide .back-link{color:#bdc8a8;text-decoration:none;font-size:14px}.pin-guide header{max-width:780px;margin:64px 0 36px}.pin-guide h1{font-size:clamp(38px,6vw,66px);line-height:1.08;letter-spacing:-2px;margin:16px 0 24px}.guide-intro{color:#abb4aa;font-size:20px;line-height:1.6}.pin-guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pin-card{display:flex;align-items:center;gap:22px;border:1px solid #39453c;background:linear-gradient(120deg,#202a24,#19221d);border-radius:18px;padding:26px 20px;min-height:180px}.pin-portrait{width:112px;min-width:112px;height:120px;display:grid;place-items:center;color:#d3b77e}.pin-portrait img,.pin-portrait svg{width:112px;height:120px;object-fit:contain;filter:drop-shadow(0 7px 8px #0006)}.pin-number{color:#96a587;font-size:10px;letter-spacing:1.8px}.pin-card h2{font-size:21px;margin:9px 0;letter-spacing:-.3px}.pin-card p{font-size:14px;line-height:1.55;color:#bdc4b8;margin:0}.pin-notes{margin-top:48px;border-top:1px solid #39453c;padding-top:28px;max-width:820px;line-height:1.75;color:#b6beb0}.pin-notes h2{color:#e8e9dc;font-size:25px;margin-top:30px}.pin-notes a{color:#cbdca9;text-underline-offset:4px}.pin-notes li{margin:12px 0}.guide-play{display:inline-block;margin-top:28px;padding:12px 20px;border:1px solid #82936d;border-radius:30px;text-decoration:none}
@media(max-width:700px){.pin-guide{padding:26px 18px 50px}.pin-guide header{margin:42px 0 28px}.pin-guide-grid{grid-template-columns:1fr}.pin-card{gap:16px;padding:20px 16px}.pin-portrait,.pin-portrait img,.pin-portrait svg{width:96px;min-width:96px;height:108px}.pin-card h2{font-size:20px}.guide-intro{font-size:17px}.pin-guide h1{letter-spacing:-1px}}
