.inlet-view{position:relative;width:100%;height:280px;border-radius:18px;overflow:hidden;background:#8cbbbf;box-shadow:0 12px 35px #163b4320}#inlet-scene{display:block;width:100%;height:100%;touch-action:pan-y}.pick-target{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;min-height:44px;padding:0;border:2px solid #fff6dc;border-radius:50%;background:#aa452ae8;color:white;font:bold 16px system-ui;box-shadow:0 3px 10px #183f4360;z-index:2}.pick-target:active{transform:translate(-50%,-50%) scale(.88)}.pick-target:disabled{opacity:.3}.place-help{font-size:12px;line-height:1.5;color:#456b68;margin:10px 0}.plant-choice,.preferences{display:flex;gap:8px}.plant-choice button{flex:1;font-size:12px;padding:10px}.preferences{margin:20px 0 8px;flex-wrap:wrap}.preferences button{font-size:12px;padding:8px 12px;min-height:40px;background:#e0e5d7;color:#204e4b}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.phone .app{padding:16px}.phone h1{font-size:28px;line-height:1.08;margin:14px 0}.phone header{margin-bottom:8px}.phone .total{font-size:36px;margin:10px 0 0}.phone .goal{font-size:12px}.phone .meter{height:5px;margin:9px 0}.phone .tabs{margin:14px 0}.phone .tabs button{padding:12px}.phone .gamebox{padding:0;border:0;background:transparent}.phone .gamehead h3{font-size:22px}.phone .gamebox .inlet-view{height:350px;margin-top:12px}.phone .success{padding:18px;margin-top:12px}.phone .success h2{font-size:25px}.phone .success .tick{display:none}.phone form label{margin-top:12px}.phone .notice{font-size:12px}.gala-wall{overflow:hidden;background:#8cbbbf}.gala-wall .app{padding:32px 42px;color:#163f42;height:100vh;pointer-events:none}.gala-wall .wall-view{position:fixed;inset:0;border-radius:0;height:100vh;z-index:-1;box-shadow:none}.gala-wall header{font-size:22px;margin:0}.gala-wall .gala{display:block;margin:30px 0}.gala-wall h1{font-size:72px;line-height:.96;margin:10px 0}.gala-wall .thanks{font:20px Georgia;max-width:300px;line-height:1.4}.gala-wall .supporters{max-width:330px}.gala-wall .supporters span{background:#f5f5e9d9;padding:8px 12px}.gala-wall .notice{max-width:280px}.gala-wall .vol-count{position:absolute;right:42px;top:95px;max-width:330px;padding:14px;background:#f5f5e9d9;border-radius:12px}.gala-wall .vol-count strong{font-size:38px}.gala-wall .gala>section:last-child{position:absolute;right:42px;bottom:80px;width:370px}.gala-wall .gamebox{background:#f5f5e9eb;border:0;padding:20px}.gala-wall .gamehead h3{font-size:26px}.gala-wall .gala>section:last-child>p{font-size:18px!important}.gala-wall footer{position:absolute;bottom:20px;right:42px;font-size:12px}.gala-wall .preferences{position:absolute;bottom:50px;left:42px;pointer-events:auto}.gala-wall .preferences button{background:#f5f5e9d9}.gala-wall .live{background:#f5f5e9c9}.hero-film{margin:0;position:relative;overflow:hidden;border-radius:22px;background:#204e4b}.hero-film video{display:block;width:100%}.hero-film button{position:absolute;bottom:12px;right:12px;font-size:12px;background:#f5f5e9;color:#204e4b}.hero-film figcaption{padding:14px 20px;font-size:14px;color:#f5f5e9}@media(max-height:500px) and (orientation:landscape){.phone .app{padding:12px}.phone h1,.phone .goal,.phone .meter,.phone .total,.phone header{display:none}.phone .tabs{margin:0 0 8px;width:42%}.phone .gamebox .inlet-view{height:280px;width:57%;position:absolute;right:12px;top:12px}.phone .gamehead,.phone .gamebox>p,.phone .scoreline,.phone .preferences{width:40%}.phone footer{max-width:40%;font-size:10px}.phone .gamehead h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.gala-wall .vol-count{color:#204e4b}.gala-wall .vol-count small{color:#456b68}.gala-wall .gamehead{gap:14px}.gala-wall .gamehead h3{font-size:23px}.gala-wall .preferences{left:150px;bottom:20px}

.gala-wall .gala>section:last-child{bottom:250px}.gala-wall footer{left:42px;right:auto;bottom:80px}.phone .preferences{padding-bottom:60px}

/* Keep actual litter visible inside generous touch targets. */
.pick-target{background:#cc70491c;border:1px solid #fff4d5c0;display:flex;align-items:flex-end;justify-content:flex-end;padding:0;box-shadow:0 2px 6px #163f431f}.pick-target span{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#a9492e;color:#fff8e2;font:bold 11px system-ui;transform:translate(4px,4px)}.pick-target:active{background:#eab57b77}.phone.playing h1,.phone.playing .total,.phone.playing .goal,.phone.playing .meter{display:none}.phone.playing .gamebox .inlet-view{height:380px}.hero-film figcaption{padding-right:115px}@media(max-height:500px) and (orientation:landscape){.phone.playing .gamebox .inlet-view{height:280px}}

.contributors{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.contributors span{background:#dce7cc;border-radius:8px;padding:6px 10px;font-size:12px;color:#204e4b}.contributors b{margin-left:5px}
.phone:not(.playing) .inlet-view{height:220px}.phone:not(.playing) h1{font-size:25px}.phone .plant-choice{margin-bottom:8px}.phone .notice{margin:8px 0;padding:8px 12px}.phone .amounts{margin:10px 0}.phone .preferences{padding-bottom:20px}.phone .success{animation:lantern-rise .65s cubic-bezier(.2,.9,.2,1)}.lend-hand{width:100%;margin-top:12px}.staff .app{padding:20px 26px 42px}.staff .app header{margin-bottom:18px}.staff h1{font-size:36px!important;margin:10px 0 20px}.staff .staffgrid{gap:24px}.staff .card{padding:20px}.staff .vol-count{margin-top:12px}.staff .preferences{margin:12px 0}.staff footer{margin-top:12px}.staff #vol-name,.staff #shift{min-height:44px}.preferences button{min-height:44px}button:focus-visible,a:focus-visible{outline:3px solid #b77c37;outline-offset:3px}@keyframes lantern-rise{from{opacity:.2;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.phone .success{animation:none}}
.phone:not(.playing):not(.pledged) .inlet-view{height:170px}.phone.pledged:not(.playing) .inlet-view{height:300px}.phone #pledge input,.phone #pledge select{min-height:44px;padding:8px 12px}.phone #pledge button[type=submit]{margin-top:12px}.phone .success p{margin:8px 0}
/* Generated sanctuary pass: giving is the primary action on every surface. */
:root{--cream:#fff6df;--ink:#163f42;--coral:#bd5639}.gala-wall .app{padding:30px 36px;color:var(--cream)}.gala-wall header{position:relative;z-index:2}.gala-wall .brand{color:var(--cream);text-shadow:0 2px 10px #163f42}.gala-wall .giving-rail{position:absolute;left:36px;top:106px;width:330px;padding:26px;background:#123f43ed;border:1px solid #ffe8b63b;border-radius:22px;box-shadow:0 20px 60px #092c3b30}.gala-wall h1{font-size:51px;margin:10px 0 18px;line-height:1.01}.gala-wall .thanks{font:17px/1.5 Georgia;color:#e5ead7;margin-bottom:18px}.gala-wall .total{font-size:62px;line-height:1.1;color:#ffdf99}.gala-wall .goal{font-size:14px;color:#e5ead7}.gala-wall .meter{margin:14px 0 20px;background:#ffffff20;height:7px}.gala-wall .meter>div{background:#ffc775;transition:width 1.5s ease}.goal-stages{display:grid;gap:9px;font-size:13px}.goal-stages span{opacity:.55}.goal-stages .reached{opacity:1;color:#d5eaaa}.goal-stages .reached:before{content:'✓ ';color:#ffd891}.gift-heading{margin-top:25px!important}.gala-wall .eyebrow{color:#bdd6c7;font-size:10px;letter-spacing:.16em}.gala-wall .supporters{display:grid;gap:0;max-width:none}.gala-wall .supporters span{display:flex;justify-content:space-between;border-bottom:1px solid #ffffff20;background:none;border-radius:0;padding:8px 0;font-size:16px;color:#fff6df}.gala-wall .supporters b{color:#ffdf99}.gala-wall .notice{font-size:11px;background:none;padding:0;color:#d4ded3;max-width:none}.gala-wall .volunteer-chip{position:absolute;top:100px;right:36px}.gala-wall .vol-count{position:static;max-width:300px;background:#123f43e6;color:#fff6df;border:1px solid #ffe8b63b}.gala-wall .vol-count h3{font-size:20px;color:#fff6df}.gala-wall .vol-count small{color:#d4ded3}.gala-wall .world-caption{position:absolute;left:420px;bottom:92px;display:grid;gap:8px;color:#fff6df;text-shadow:0 2px 9px #123f43}.world-caption span{font-size:11px;letter-spacing:.2em}.world-caption b{font:30px Georgia}.gala-wall .preferences{left:150px;bottom:18px}.gala-wall footer{left:420px;bottom:24px;border:0;color:#fff6df;margin:0;max-width:calc(100vw - 1080px)}.gala-wall footer a{color:#fff6df}.gala-wall .celebration{position:absolute;top:34px;left:50%;transform:translate(-50%,-120px);opacity:0;transition:.5s ease;background:#ffdf99;color:#163f42;border-radius:50px;padding:18px 34px;font:25px Georgia;max-width:650px;text-align:center;box-shadow:0 8px 50px #fff5b744}.gala-wall .celebration.show{transform:translate(-50%,0);opacity:1}.gala-wall .live{background:#123f43d9;color:#fff6df;padding:6px 12px;border-radius:20px}.gala-wall .inlet-view{background:#579a91}.phone{background:#f5f5e9}.phone .app{max-width:1200px;padding:16px 20px 55px}.phone header{margin-bottom:12px}.phone h1,.phone:not(.playing) h1{font-size:31px;margin:8px 0 14px}.phone .eyebrow{font-size:10px;letter-spacing:.16em}.phone:not(.playing):not(.pledged) .inlet-view,.phone.pledged:not(.playing) .inlet-view{height:220px;border-radius:16px}.world-invitation{font:14px/1.4 Georgia;margin:10px 0 14px;color:#456b68}.phone .total{font-size:38px}.phone .giving-form .goal{font-size:11px}.phone .meter{height:5px;margin:8px 0 14px}.frequency,.amounts{display:flex;gap:7px}.frequency{margin:12px 0}.frequency button{flex:1;background:#e1e8dc;color:#204e4b;padding:10px;border-radius:9px;font-size:13px;min-height:44px}.amounts button{flex:1;padding:10px 4px;background:#e1e8dc;color:#204e4b;border:1px solid transparent;border-radius:9px;font-size:17px;min-height:46px}.frequency [aria-pressed=true],.amounts [aria-pressed=true]{background:#204e4b;color:#fff6df;border-color:#204e4b}.phone .amounts{margin:10px 0}.impact{font:15px Georgia;color:#456b68;margin:10px 0!important}.phone #pledge label{font-size:12px;margin-top:12px}.phone #pledge label small{font-weight:normal;font-size:10px}.phone #pledge input{height:44px;border-radius:9px}.phone #pledge button[type=submit]{background:#bd5639;color:#fff6df;border-radius:10px;min-height:50px;font-size:17px;width:100%;margin-top:12px}.phone .notice{font-size:10px;line-height:1.5;background:transparent;padding:0;text-align:center}.phone .preferences{margin:16px 0 8px;padding:0}.phone footer{font-size:10px;margin:12px 0;padding-top:12px}.phone .preferences button{min-height:44px}.staff{background:linear-gradient(90deg,#f5f5e9fa 0%,#f5f5e9ef 58%,#f5f5e980),url('/games/gathering/art/world-1080.webp') center/cover fixed}.staff .app{position:relative;max-width:1250px;padding:20px 28px 55px}.staff-giving{display:flex;gap:15px;align-items:center;margin:0 0 18px}.staff-giving .total{font-size:40px}.staff-giving .goal{font-size:12px;max-width:130px}.staff-giving .meter{width:150px;min-width:100px}.staff-giving>p{font:16px Georgia;max-width:270px}.staff .staff-world{display:none}.staff .card{background:#fffaf0e8}.staff .staffgrid{gap:24px}.staff .app h1{font-size:32px!important;margin-bottom:10px}.staff .vol-count{padding:8px 0}.staff .preferences{margin-top:10px}.staff footer{font-size:10px}.kiosk .supporter-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:28px;align-items:start}.kiosk .supporter-world .inlet-view{height:440px!important}.kiosk .giving-form{padding-top:50px}.kiosk .world-invitation{font-size:18px}.kiosk .total{font-size:50px}.kiosk .preferences{position:absolute;bottom:44px;left:20px}.kiosk footer{position:absolute;bottom:10px;left:20px}.phone .supporters{font-size:12px}.phone .success{background:#e3ebd6}.phone .success p{font-size:14px}.phone [data-next-guest]{margin-top:12px;width:100%}
@media(min-width:1600px){.gala-wall .giving-rail{width:350px}}
@media(min-width:3000px){.gala-wall .app{padding:56px 72px}.gala-wall header .brand{font-size:58px}.gala-wall .giving-rail{left:72px;top:180px;width:580px;padding:42px;border-radius:32px}.gala-wall h1{font-size:86px}.gala-wall .thanks{font-size:28px;max-width:500px}.gala-wall .total{font-size:104px}.gala-wall .goal{font-size:24px}.gala-wall .goal-stages{font-size:23px;gap:18px}.gala-wall .eyebrow{font-size:18px}.gala-wall .supporters span{font-size:28px;padding:14px 0}.gala-wall .notice{font-size:19px}.gala-wall .volunteer-chip{right:72px;top:180px}.gala-wall .vol-count{max-width:500px;padding:24px}.gala-wall .vol-count strong{font-size:64px}.gala-wall .vol-count h3{font-size:32px}.gala-wall .vol-count small{font-size:20px}.gala-wall .world-caption{left:780px;bottom:150px}.gala-wall .world-caption b{font-size:52px}.gala-wall .world-caption span{font-size:20px}.gala-wall .celebration{font-size:42px;padding:24px 50px;max-width:1100px}.gala-wall footer{left:780px;font-size:20px;bottom:35px}.gala-wall .preferences{left:200px;bottom:30px}.gala-wall .preferences button{font-size:20px;padding:14px 20px}}
@media(max-height:700px) and (min-width:700px){.kiosk .supporter-world .inlet-view{height:300px!important}.kiosk .giving-form{padding-top:15px}.staff .app h1{font-size:26px!important}.staff .card{padding:14px}}
@media(max-width:600px){.phone:not(.playing):not(.pledged) .inlet-view{height:190px}.phone .app{padding:12px 16px 55px}.phone:not(.playing) h1{font-size:28px}.phone .world-invitation{display:none}.phone .giving-form .total{margin-top:12px;font-size:34px}.phone .preferences{margin-top:14px}.phone .success{padding:14px}}
@media(prefers-reduced-motion:reduce){.gala-wall .celebration,.gala-wall .meter>div{transition:none}}
.idle-film{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:-1;opacity:0;transition:opacity 2s}.idle-film.visible{opacity:1}.idle-label{position:fixed;top:100px;left:50%;transform:translateX(-50%);color:#fff6df;background:#123f43b0;padding:7px 12px;border-radius:20px;font-size:10px;letter-spacing:.1em;opacity:0;pointer-events:none}.idle-label.visible{opacity:1}.gala-wall:has(.idle-film.visible) .wall-view{opacity:0;transition:opacity 2s}.gala-wall .world-caption{max-width:calc(100vw - 950px)}
.staff .card h3{font-size:25px;margin-bottom:12px}.staff .row{padding:10px 0;font-size:14px}.staff .card label{margin:10px 0 6px}.staff .card input,.staff .card select{padding:9px 12px;min-height:44px}.staff .card form button{margin-top:12px!important;min-height:44px;padding:10px}.staff .card #notice{font-size:12px;margin-top:10px!important}.staff .staffgrid{align-items:start}.staff .vol-count strong{font-size:38px}.staff .vol-count h3{font-size:22px}.staff [data-start]{margin-top:10px!important;padding:10px 16px;min-height:44px}.staff .tiny{font-size:10px}.staff .preferences{margin-top:12px}.staff .vol-count{margin-top:10px}.staff .staff-giving{margin-bottom:14px}.staff .staff-giving .meter{height:6px}.staff footer{padding-top:10px;margin-top:8px}
@media(max-width:600px){.phone .preferences{margin-top:45px}.phone .success~.supporters{display:grid;gap:6px}.phone .supporters span{display:flex;justify-content:space-between}}
.staff .vol-count{padding:12px 18px;gap:16px}.staff .vol-count strong{flex:0 0 auto}.staff .vol-count h3{margin:0 0 4px}
.staff .preferences{margin-left:110px}.staff footer{position:fixed;bottom:12px;left:153px;margin:0;padding:0;border:0}
/* Reserve the toolkit's bottom room controls outside the phone's scrolling content. */
.phone:not(.kiosk){overflow:hidden}.phone:not(.kiosk) #app{height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain}.phone:not(.kiosk) .app{padding-bottom:20px}

/* Studio-owned doorway: public address works from the sandboxed app. */
.creator-doorway{display:inline-flex;align-items:center;min-height:44px;color:#204e4b;font-size:13px;text-underline-offset:4px;margin:0 0 6px;pointer-events:auto}.gala-wall .creator-doorway{position:absolute;left:36px;top:61px;min-height:32px;margin:0;color:#fff6df;font-size:13px;text-shadow:0 1px 5px #123f43;background:#123f4380;border-radius:8px;padding:4px 10px}.phone .creator-doorway{font-weight:600}.creator-doorway:focus-visible{outline:3px solid #ffc775;outline-offset:3px}
/* Reserved shell bands, with shifts on the shoreline's welcome side. */
.gala-wall .giving-rail{top:112px;bottom:170px;overflow:auto}.gala-wall .preferences{position:absolute;left:36px;bottom:90px;margin:0}.gala-wall footer{left:36px;bottom:52px;max-width:60%;font-size:12px}.gala-wall .volunteer-chip{right:36px;top:120px;width:340px}.shift-rail{background:#e2ead9;color:#183f3e;border-radius:14px;padding:20px;margin:24px 0}.shift{display:grid;gap:8px;border-top:1px solid #799b8980;padding:14px 0}.shift button{min-height:48px}.shift-seats{display:flex;gap:7px}.shift-seats i{display:block;width:20px;height:28px;border-radius:50% 50% 5px 5px;border:1px solid #8ca491}.shift-seats i.filled{background:#c89042}.gala-wall .shift-rail{background:#123f43eb;color:#fff6df;font-size:18px;margin:0}.gala-wall .shift-rail .eyebrow{font-size:16px}.phone header{padding-right:60px}.phone .receipt-wording{font-size:12px;line-height:1.5}.phone [data-shift-receipt]{overflow-wrap:anywhere;font-size:13px}.phone .preferences{margin-top:24px}.gala-wall .world-caption{left:430px;bottom:140px}.gala-wall .celebration{top:75px;max-width:650px}.gala-wall .giving-rail .notice{font-size:13px;margin-top:20px}.phone .notice{font-size:12px;text-align:left}

.visitor-qr{position:absolute;right:36px;bottom:42px;display:flex;align-items:center;gap:18px;background:#fff8e6;color:#173c3c;padding:16px;max-width:330px;z-index:4;font:20px/1.3 Georgia;pointer-events:auto}.visitor-qr>div{width:116px;flex:0 0 116px;background:white}.visitor-qr svg{display:block;width:100%;height:auto}.visitor-qr small{display:block;font:12px system-ui;margin-top:8px}
@media(max-width:800px){
 .gala-wall{overflow:auto}.gala-wall .app{height:auto;min-height:100dvh;padding:20px}.gala-wall header{position:relative;display:block}.gala-wall .brand{font-size:30px}.gala-wall .live{display:inline-block;margin-top:12px}.gala-wall .gala{display:flex;flex-direction:column}
 .gala-wall .creator-doorway,.gala-wall .giving-rail,.gala-wall .volunteer-chip,.gala-wall .world-caption,.gala-wall .preferences,.gala-wall .visitor-qr,.gala-wall footer{position:relative;inset:auto;width:auto;max-width:none;max-height:none;margin:16px 0}.gala-wall .giving-rail{padding:20px;overflow:visible}.gala-wall .giving-rail h1{font-size:42px}.gala-wall .wall-view{position:relative;inset:auto;width:100%;height:280px;opacity:1}.gala-wall .world-caption{font-size:14px;background:#123f43;padding:16px}.gala-wall .world-caption b{font-size:24px}.gala-wall footer{color:#123f43}.gala-wall .celebration{display:none}
}
.gala-wall header{height:44px}.gala-wall .creator-doorway{top:84px}.gala-wall .giving-rail{top:132px}.gala-wall .preferences{padding:0}
@media(max-width:800px){.gala-wall header{height:auto}.gala-wall .creator-doorway,.gala-wall .giving-rail{top:auto}}
.gala-wall footer{padding:0}

/* Kiosk captions and controls each keep their own space. */
.kiosk .preferences,.kiosk footer{position:relative;inset:auto;transform:none;margin:24px 0;display:flex;flex-wrap:wrap;gap:12px}.kiosk .app{padding-bottom:28px}.shift-rail input{width:100%;min-height:44px;margin:8px 0 16px}.gala-wall .celebration{font-size:32px;line-height:1.3;max-width:640px;padding:22px 32px;background:#fff5db;color:#294e44;border:1px solid #c49a59;box-shadow:0 12px 40px #26473c33}
