:root{font-family:Nunito,system-ui,sans-serif;color:#193950;background:#f5faff;--blue:#0787c4}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f4b344;outline-offset:4px}[hidden]{display:none!important}header{display:flex;align-items:center;justify-content:space-between;padding:16px max(24px,4vw);background:white;border-bottom:1px solid #deebf5;gap:14px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#0c87b6;font-size:23px;font-weight:900}.brand img{width:125px;height:54px;object-fit:contain}.brand>span{font-size:16px;letter-spacing:1px}.tools{color:#193950}nav{display:flex;gap:18px;align-items:center}nav a{font-weight:800;color:#365a72;text-decoration:none}.quiet{border:1px solid #d1e6f4;background:#fff;border-radius:14px;padding:10px 15px;color:#087fb3;font-weight:900}main{width:min(1600px,96%);margin:auto}.intro{display:flex;justify-content:space-between;align-items:center;padding:24px 4px;gap:20px}.eyebrow{font-size:12px;font-weight:900;letter-spacing:2px;color:#0787c4;margin:0 0 7px}h1{font-size:clamp(24px,3vw,42px);margin:0 0 6px;line-height:1.2}.intro p:not(.eyebrow){margin:0;color:#668095}.privacy{padding:12px 17px;background:#e8f6ff;border-radius:14px;font-size:12px;font-weight:800;white-space:nowrap}.stage-shell{padding:10px;background:white;border:1px solid #dbeaf5;border-radius:28px;box-shadow:0 15px 45px #1a547b0d}.stage{position:relative;aspect-ratio:16/9;isolation:isolate;overflow:hidden;border-radius:19px;background:#c85b34 url('assets/courtyard.webp') center/cover no-repeat}.stage-top{position:absolute;top:2%;left:2%;right:2%;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;z-index:8}.stage-actions,.stage-tools{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.start,.reset{border:2px solid #fff7dc;border-radius:16px;padding:12px 20px;font-size:clamp(12px,1.2vw,20px);font-weight:900;box-shadow:0 4px 0 #802518,0 7px 18px #0002}.start{background:#cb2e35;color:#fffbe8}.reset{background:#fff8e8;color:#a32c2b}.round{width:42px;height:42px;border-radius:13px;background:#fff8e8;border:2px solid white;color:#a82e2f;font-weight:900;font-size:22px}#remaining{background:#fff8e8e8;color:#8e3329;border:1px solid #fff5c2;border-radius:14px;padding:8px 12px;font-weight:900;font-size:12px}.stage-status{position:absolute;top:27%;left:15%;right:15%;margin:0;text-align:center;color:#fff9dd;font-size:clamp(12px,1.5vw,24px);font-weight:900;text-shadow:0 2px 3px #5a241c,0 0 12px #3c2215;z-index:5}.pig-grid{position:absolute;left:3%;right:3%;top:48%;bottom:3%;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(var(--rows),minmax(0,1fr));gap:1% 1.3%;align-items:center;justify-items:center}.pig{position:relative;width:100%;height:100%;display:flex;justify-content:center;align-items:center;min-width:0;filter:drop-shadow(0 4px 2px #64281955);transition:opacity .2s}.pig-character{height:100%;width:100%;display:flex;align-items:center;justify-content:center;animation:pig-bob var(--speed) ease-in-out infinite;animation-delay:var(--delay);transform-origin:center bottom}.pig img{width:100%;height:100%;object-fit:contain}.pig-label{position:absolute;left:12%;right:1%;top:47%;text-align:center;line-height:1.05;font-weight:900;font-size:clamp(8px,1.2vw,20px);background:#fffbeded;border:1px solid #e7ba79;border-radius:7px;padding:3px 4px;color:#762c32;text-shadow:0 1px white;overflow-wrap:anywhere;max-height:55%;overflow:hidden;box-shadow:0 2px 3px #742c221f}.pig.picked{opacity:.28;filter:grayscale(.4)}.pig.target{filter:drop-shadow(0 0 8px #fff285)}.pig.target .pig-character{animation-play-state:paused}.net{position:absolute;z-index:7;pointer-events:none;object-fit:fill;filter:drop-shadow(0 3px 2px #42190e77);will-change:transform;transform-origin:center 65%}.net.catching{animation:catch-net .55s ease-in forwards}.result{position:absolute;inset:0;z-index:20;background:#40190a66;display:grid;place-items:center;backdrop-filter:blur(3px)}.result-card{position:relative;text-align:center;width:min(64%,650px);max-height:94%;overflow:auto;background:linear-gradient(150deg,#fffdf0,#ffefbf);border:5px solid #f4ca5d;border-radius:30px;padding:clamp(12px,2vw,30px);box-shadow:0 10px 0 #ac3e27,0 22px 60px #40190766;animation:reveal .45s cubic-bezier(.2,1.5,.5,1)}.result-kicker{font-size:clamp(12px,1.6vw,25px);font-weight:900;color:#b33132}.winner-pig{height:clamp(65px,12vw,175px);position:relative;margin:12px auto 0;width:65%}.winner-pig>img{position:absolute;width:100%;height:100%;object-fit:contain;inset:0}.winner-pig .winner-net{width:105%;height:100%;top:13%;left:0;opacity:.9}.result h2{color:#a8232e;font-size:clamp(22px,4vw,62px);line-height:1.08;margin:12px 0;overflow-wrap:anywhere}.result p{margin:0 0 16px;color:#88583c}.settings{display:grid;grid-template-columns:1fr 1fr;gap:35px;background:white;border:1px solid #dcebf5;border-radius:26px;padding:30px;margin:26px 0}.mode-tabs{display:flex;gap:8px;margin:12px 0}.mode-tabs button{border:0;background:#edf7fd;color:#598199;padding:10px 22px;border-radius:12px;font-weight:900}.mode-tabs button.active{background:#0787c4;color:white}label{display:block;font-weight:800;margin:10px 0}textarea,input[type=number],select{width:100%;border:2px solid #d9e9f4;border-radius:14px;padding:12px;color:#193950;background:white}textarea{resize:vertical;line-height:1.6}.options select{max-width:150px}.check{display:flex;align-items:center;gap:12px;margin-top:24px}.check input{width:20px;height:20px;accent-color:#0787c4}.note,.input-status{font-size:13px;color:#698395;line-height:1.7}.input-status.error{color:#b32631}.history-heading{display:flex;justify-content:space-between;align-items:center;margin-top:28px}.history-heading h2{font-size:19px}.history-heading span{background:#eaf7ff;border-radius:20px;padding:3px 12px;color:#0787c4;font-weight:900}#history{max-height:160px;overflow:auto;padding-left:28px}#history li{padding:4px 8px;border-bottom:1px solid #edf4f9}footer{text-align:center;padding:5px 0 30px;color:#7890a1;font-size:12px}.stage:fullscreen{aspect-ratio:auto;width:100vw;height:100dvh;border-radius:0;background-size:100% 100%}.stage:fullscreen .pig-label{font-size:clamp(10px,1.5vw,24px)}@keyframes pig-bob{0%,100%{transform:translate(-1%,0) rotate(-1deg)}50%{transform:translate(1%,-4%) rotate(1deg)}}@keyframes catch-net{0%{scale:1.2;translate:0 -15%}75%{scale:1;translate:0 4%}100%{scale:1;translate:0 0}}@keyframes reveal{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@media(max-width:700px){header{padding:10px 14px}.brand>span{display:none}.brand img{width:105px}nav{gap:8px}nav>a:first-child{display:none}.intro{padding:18px 3px}.privacy{display:none}.stage-shell{padding:5px;border-radius:18px}.stage{border-radius:13px;min-height:410px;aspect-ratio:1.2;background-size:100% 100%}.stage-top{gap:5px}.stage-actions{gap:5px;max-width:65%}.start,.reset{padding:8px 10px;border-radius:10px;font-size:11px}.round{width:29px;height:29px;font-size:17px;border-radius:9px}.stage-tools{gap:4px;justify-content:flex-end}#remaining{font-size:9px;padding:5px}.stage-status{top:28%;left:5%;right:5%}.pig-grid{left:2%;right:2%;gap:1% .5%;top:45%}.pig-label{font-size:8px;padding:2px 1px;left:4%;right:0;border-radius:4px}.settings{grid-template-columns:1fr;padding:20px;gap:16px}.result-card{width:87%}.result h2{font-size:32px}.winner-pig{height:100px}}@media(prefers-reduced-motion:reduce){.pig-character{animation:none}.result-card{animation:none}}.pig-label{left:30%;right:3%;top:53%}

.pig-grid{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(var(--rows),minmax(0,1fr));gap:2%}.pig-row{display:flex;align-items:center;justify-content:center;gap:1.3%;height:100%;min-height:0}.pig-row>.pig{width:calc((100% - (var(--cols) - 1)*1.3%)/var(--cols));flex-shrink:0}.audio-levels{background:#f2f9ff;border:1px solid #dfedf6;border-radius:16px;padding:12px 16px;margin-top:18px}.audio-levels label{display:flex;justify-content:space-between;font-size:13px}.audio-levels input{width:100%;accent-color:#0787c4}.audio-levels output{color:#0787c4;font-weight:900}

.options #arrange{max-width:270px}

.site-global-menu{position:relative;flex:none;z-index:30;font:700 13px Nunito,system-ui,sans-serif;color:#193950}.site-global-menu summary{cursor:pointer;list-style:none;border:1px solid #deebf5;border-radius:999px;background:#f5faff;padding:9px 13px;white-space:nowrap}.site-global-menu summary::-webkit-details-marker{display:none}.site-menu-panel{position:absolute;right:0;top:calc(100% + 7px);min-width:245px;max-height:min(68vh,520px);overflow:auto;padding:9px;background:#fff;border:1px solid #deebf5;border-radius:14px;box-shadow:0 14px 30px #16314c22;display:grid;gap:2px}.site-menu-panel strong{color:#0787c4;font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:8px 9px 3px}.site-menu-panel a{color:#193950;text-decoration:none;padding:8px 9px;border-radius:8px}.site-menu-panel a:hover{background:#eaf7ff}@media(max-width:700px){header{flex-wrap:wrap;padding-inline:14px}.site-global-menu{margin-left:auto}.site-global-menu summary{font-size:11px;padding:8px 10px}.site-menu-panel{min-width:210px;right:0}}

/* Shared BLOOMTools navigation */
.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:50;padding:12px clamp(16px,3vw,56px)}.site-menus{display:flex;align-items:center;justify-content:center;gap:clamp(8px,1.5vw,22px);flex:1}.site-global-menu{position:relative}.site-global-menu summary{font-size:15px;font-weight:900;padding:11px 14px;color:#365a72;background:transparent;border:0;border-radius:14px;list-style:none;cursor:pointer;white-space:nowrap}.site-global-menu summary:hover,.site-global-menu[open] summary{background:#e8f6ff;color:#0787c4}.site-global-menu summary::-webkit-details-marker{display:none}.site-global-menu summary:after{content:'⌄';margin-left:7px;font-size:12px}.site-menu-panel{z-index:60;right:0;left:auto;top:calc(100% + 6px);min-width:255px;max-height:min(72vh,560px);overflow:auto;background:white;border:1px solid #deebf5;border-radius:18px;box-shadow:0 14px 32px #16314c22;padding:10px;display:grid;gap:3px}.site-menu-panel a{display:block;padding:10px 12px;font-size:14px;font-weight:800;color:#365a72;border-radius:10px;white-space:normal}.site-menu-panel a:hover,.site-menu-panel a:focus-visible{background:#eaf7ff;color:#0787c4}.site-about{font-weight:900;color:#365a72;text-decoration:none;padding:11px 14px;border-radius:14px;white-space:nowrap}.site-about:hover{background:#e8f6ff;color:#0787c4}.site-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}.site-actions .quiet{display:inline-block;text-decoration:none}.site-actions a.quiet{padding:10px 15px}@media(max-width:900px){.site-header{flex-wrap:wrap;gap:8px 14px}.site-menus{order:3;flex-basis:100%;justify-content:center;flex-wrap:wrap}.site-menu-panel{right:auto;left:0}.brand img{width:95px}.site-global-menu summary,.site-about{font-size:13px;padding:9px 10px}}@media(max-width:520px){.site-header{padding:10px 12px}.brand>span{font-size:13px}.site-menus{gap:2px}.site-global-menu summary,.site-about{font-size:11px;padding:8px 7px}.site-actions{margin-left:auto}.site-menu-panel{min-width:min(245px,88vw)}}
