:root{color-scheme:light;--paper:#fff;--white:#fff;--ink:#101010;--muted:#595959;--faint:#dedede;--secondary:#f1f1ed;--lime:#FFD21A;--lime-dark:#423600;--danger:#9b2929;--danger-bg:#fff0eb;--backdrop:#ededed;--shadow:rgba(16,16,16,.12);--scrim:rgba(16,16,16,.55);--s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s6:1.5rem;--s8:2rem;--s12:3rem;--r-sm:.5rem;--r-lg:1.25rem;--pill:999px;--micro:140ms;--standard:240ms;--ease:cubic-bezier(.2,.8,.2,1);font-family:"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;color:var(--ink);background:var(--backdrop);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,a,input{ -webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation;color:inherit}button:disabled{cursor:default}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px dashed var(--ink);outline-offset:5px}h1,h2,h3,p{margin:0;word-break:keep-all;overflow-wrap:anywhere}h1{font-size:3.1em;font-weight:750;line-height:1.17;letter-spacing:-.065em}h2{font-size:2em;line-height:1.25;letter-spacing:-.045em}p{line-height:1.6}svg{width:1.35em;height:1.35em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}button{border:0}small{font-size:.7em} .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.kiosk{max-width:1080px;margin:auto;background:var(--paper);min-height:100dvh;padding:var(--s8);font-size:clamp(16px,2.6vw,28px);display:flex;flex-direction:column;overflow:hidden;position:relative}.brand-header{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding-bottom:var(--s6)}.brand{display:flex;gap:var(--s2);align-items:center;text-decoration:none;font-size:1.15em;font-weight:750;letter-spacing:-.05em;line-height:1.05;min-height:48px}.brand svg{width:1.7em;height:1.7em;stroke-width:1.8}.brand-light{font-weight:450}.brand small{display:block;font-size:.36em;letter-spacing:.2em;margin-top:.6em;font-weight:650}.mode-badge{font-size:.64em;background:var(--secondary);padding:var(--s2) var(--s3);border-radius:var(--pill);font-weight:650;white-space:nowrap}#app{flex:1;display:flex;flex-direction:column;outline:none}.shell-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);color:var(--muted);font-size:.64em;padding-top:var(--s6)}.utilities{display:flex;gap:var(--s2)}.icon-button{width:48px;height:48px;background:transparent;border-radius:50%;display:grid;place-items:center}.icon-button svg{width:22px;height:22px}.icon-button:hover{background:var(--secondary)}.button{display:flex;align-items:center;justify-content:center;gap:var(--s3);border-radius:var(--pill);padding:var(--s3) var(--s6);min-height:max(56px,3.3em);font-size:1.05em;font-weight:650;line-height:1.3;transition:transform var(--micro) var(--ease),opacity var(--micro);width:100%;text-decoration:none}.button:active:not(:disabled),.choice:active:not(:disabled){transform:scale(.98)}.primary{background:var(--ink);color:var(--white);box-shadow:0 5px 0 var(--faint)}.primary:hover:not(:disabled){opacity:.9}.primary:disabled{background:var(--secondary);color:var(--muted);box-shadow:none}.primary svg{margin-left:auto}.primary .button-label{margin-left:auto}.secondary{background:var(--secondary);color:var(--ink)}.quiet{background:transparent;font-size:.85em;font-weight:500;min-height:48px}.quiet:hover{background:var(--secondary)}.eyebrow{font-size:.68em;letter-spacing:.13em;font-weight:650;display:flex;align-items:center;gap:var(--s2)}.eyebrow::before{content:"";width:.55em;height:.55em;border-radius:50%;background:currentColor}.muted{color:var(--muted)}
.welcome{display:flex;flex:1;flex-direction:column;justify-content:space-between;gap:var(--s6)}.welcome-copy{padding-top:var(--s6)}.welcome h1{margin-top:var(--s6)}.welcome h1 em{font-style:normal;position:relative;z-index:0;white-space:nowrap}.welcome h1 em::after{content:"";position:absolute;left:-.04em;right:-.04em;bottom:.06em;height:.27em;background:var(--lime);z-index:-1;transform:rotate(-1deg)}.intro{font-size:1.02em;color:var(--muted);margin-top:var(--s4);letter-spacing:-.035em}.hero{position:relative;margin:var(--s4) 0 var(--s2);isolation:isolate}.hero-image{width:100%;aspect-ratio:1.48;object-fit:cover;border-radius:48% 48% var(--r-lg) var(--r-lg);display:block;box-shadow:0 18px 45px var(--shadow)}.hero-tag{position:absolute;display:flex;align-items:center;gap:var(--s2);background:var(--white);padding:var(--s3) var(--s4);border-radius:var(--pill);font-size:.77em;font-weight:650;box-shadow:0 8px 28px var(--shadow)}.hero-tag svg{width:1.2em;height:1.2em}.tag-hinge{left:-.3em;top:33%;transform:rotate(-7deg)}.tag-handle{right:-.3em;top:51%;transform:rotate(5deg)}.tag-door{left:12%;bottom:-.4em;background:var(--lime);transform:rotate(-3deg)}.hero-point{position:absolute;left:51.8%;top:49%;width:1.5em;height:1.5em;border:2px solid var(--white);border-radius:50%;box-shadow:0 0 0 .4em var(--shadow);background:var(--lime)}.welcome-bottom{padding-top:var(--s4)}.mission-summary{display:flex;justify-content:center;align-items:center;gap:var(--s6);font-size:.8em;margin-bottom:var(--s4)}.mission-summary span{display:flex;align-items:center;gap:var(--s2)}.mission-summary span+span{padding-left:var(--s6);border-left:1px solid var(--faint)}.disclosure{font-size:.64em;color:var(--muted);text-align:center;margin:var(--s4) auto 0;max-width:32em}.text-button{border:0;background:none;text-decoration:underline;text-underline-offset:.2em;color:var(--muted);min-height:48px;padding:var(--s2);font-size:.72em}.welcome-help{display:flex;justify-content:center}
.game{display:flex;flex:1;flex-direction:column;gap:var(--s6)}.game-top{display:flex;align-items:center;justify-content:space-between}.game-top .text-button{text-decoration:none;padding-left:0}.counter{font-size:.82em;display:flex;align-items:center;gap:var(--s2);font-weight:650}.progress{display:flex;gap:var(--s2)}.step{flex:1;height:.28em;border-radius:var(--pill);background:var(--faint)}.step.done{background:var(--ink)}.step.current{background:var(--muted)}.question{padding:var(--s2) 0}.question .eyebrow{color:var(--muted);margin-bottom:var(--s3)}.question h1{font-size:2em;letter-spacing:-.055em}.question p{font-size:.86em;color:var(--muted);margin-top:var(--s3)}.photo-card{background:var(--white);padding:var(--s3);border-radius:var(--r-lg);box-shadow:0 8px 28px var(--shadow)}.photo-stage{position:relative;display:block;overflow:hidden;width:100%;padding:0;background:var(--secondary);border-radius:var(--r-sm);line-height:0;text-align:initial}.photo-stage img{width:100%;height:auto;display:block;user-select:none}.photo-stage.interactive{cursor:crosshair;touch-action:manipulation}.photo-stage:focus-visible{outline-offset:4px}.target-region{position:absolute;border:2px dashed var(--white);background:transparent;pointer-events:none}.marker{position:absolute;width:2em;height:2em;border:3px solid var(--white);background:var(--ink);border-radius:50%;transform:translate(-50%,-50%);display:grid;place-items:center;color:var(--white);pointer-events:none;box-shadow:0 0 0 .25em var(--shadow)}.marker svg{width:1.1em;height:1.1em}.photo-caption{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);padding:var(--s3) var(--s1) 0;font-size:.64em;color:var(--muted);line-height:1.5}.photo-caption span{display:flex;align-items:center;gap:var(--s2)}.photo-error{padding:var(--s6);line-height:1.5;font-size:1em;text-align:center;color:var(--danger)}.tip{display:flex;align-items:flex-start;gap:var(--s3);font-size:.77em;color:var(--muted);padding:0 var(--s2)}.tip svg{margin-top:.2em}.choices{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.choice{min-width:0;text-align:left;background:var(--white);border-radius:var(--r-lg);padding:var(--s4);min-height:4.8em;display:flex;align-items:center;gap:var(--s3);transition:transform var(--micro),opacity var(--micro);box-shadow:0 3px 0 var(--faint)}.choice .choice-icon{width:2.1em;height:2.1em;display:grid;place-items:center;background:var(--paper);border-radius:50%}.choice .choice-copy{min-width:0;flex:1}.choice strong{display:block;font-size:.9em;line-height:1.35;word-break:keep-all}.choice small{display:block;margin-top:var(--s1);font-size:.58em;line-height:1.4;color:var(--muted);word-break:keep-all}.choice .selection{width:1.1em;height:1.1em;flex:none}.choice[aria-pressed=true]{background:var(--ink);color:var(--white)}.choice[aria-pressed=true] small{color:var(--white);opacity:.8}.choice[aria-pressed=true] .choice-icon{background:var(--white);color:var(--ink)}.choice:hover:not(:disabled){opacity:.88}.choice:disabled{cursor:default}.point-options{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.point-options .choice{min-height:3em;padding:var(--s3);font-size:.85em;justify-content:center;text-align:center}.uncertain{margin-top:var(--s3);display:flex;justify-content:center}.uncertain button{max-width:22em;min-height:48px;background:var(--secondary);border-radius:var(--pill);padding:var(--s3);font-size:.77em}.uncertain button[aria-pressed=true]{background:var(--ink);color:var(--white)}.game-actions{margin-top:auto;padding-top:var(--s2)}.selection-hint{font-size:.7em;color:var(--muted);min-height:1.5em;text-align:center;margin-bottom:var(--s3)}.feedback{display:flex;align-items:center;gap:var(--s4);background:var(--lime);padding:var(--s4);border-radius:var(--r-lg);margin-bottom:var(--s4)}.feedback .feedback-icon{display:grid;place-items:center;background:var(--ink);color:var(--lime);width:2.5em;height:2.5em;border-radius:50%;flex:none}.feedback strong{display:block;font-size:.95em}.feedback p{font-size:.65em;margin-top:var(--s1);color:var(--lime-dark)}.error{color:var(--danger);background:var(--danger-bg);padding:var(--s3);border-radius:var(--r-sm);font-size:.8em;margin-bottom:var(--s3);line-height:1.5}.save-label{color:var(--muted);font-size:.6em;text-align:center;margin-top:var(--s3)}
.result{display:flex;flex:1;flex-direction:column;text-align:center;justify-content:space-around;gap:var(--s6);padding-top:var(--s6)}.result .eyebrow{justify-content:center}.result h1{font-size:2.8em;margin:var(--s6) 0 var(--s4)}.result .intro{font-size:.92em}.seal{position:relative;display:grid;place-items:center;margin:var(--s4) auto;width:13em;height:13em;border-radius:50%;background:var(--lime);box-shadow:inset 0 0 0 .65em var(--paper),inset 0 0 0 .7em var(--ink),0 12px 32px var(--shadow);transform:rotate(-7deg)}.seal .seal-inner{display:flex;flex-direction:column;align-items:center;gap:var(--s3)}.seal strong{font-size:4.5em;letter-spacing:-.09em;line-height:1}.seal strong small{font-size:.35em;letter-spacing:-.03em}.seal-label{font-size:.7em;letter-spacing:.1em;font-weight:650}.seal svg{width:2em;height:2em}.result-note{background:var(--white);padding:var(--s6);border-radius:var(--r-lg);text-align:left;display:flex;gap:var(--s4);align-items:flex-start}.result-note p{font-size:.8em}.result-note strong{display:block;margin-bottom:var(--s2);font-size:.95em}.result-note svg{margin-top:var(--s1)}.result-bottom{padding-top:var(--s4)}.reset-note{font-size:.68em;color:var(--muted);margin-top:var(--s4)}.loading-screen{margin:auto;text-align:center;padding:var(--s8) 0}.loading-screen h1{font-size:1.7em;margin-bottom:var(--s4)}.loading-screen .button{margin-top:var(--s6)}dialog{border:0;border-radius:var(--r-lg);padding:var(--s8);background:var(--paper);color:var(--ink);max-width:min(90vw,620px);font-size:clamp(16px,2vw,26px);box-shadow:0 20px 80px var(--shadow)}dialog::backdrop{background:var(--scrim)}dialog h2{font-size:1.6em}dialog p{margin:var(--s4) 0 var(--s6);font-size:.9em}dialog .button+.button{margin-top:var(--s2)}.enter{animation:enter var(--standard) var(--ease) both}@keyframes enter{from{opacity:0;transform:translateY(.3em)}to{opacity:1;transform:translateY(0)}}
.hero-image{height:auto}.game{gap:var(--s4)}.game-top .text-button{display:flex;align-items:center}.choice:disabled:not([aria-pressed=true]){opacity:.6}.photo-stage[disabled]{cursor:default}
.admin{max-width:800px;margin:var(--s8) auto;padding:var(--s6);font-size:18px}.admin h1{font-size:2em}.admin p{margin:var(--s4) 0}.admin .button{margin:var(--s4) 0}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(8em,1fr));gap:var(--s4);margin:var(--s8) 0}.admin-stats div{background:var(--white);border-radius:var(--r-lg);padding:var(--s4)}.admin-stats strong{display:block;font-size:2em}.admin code{overflow-wrap:anywhere}
@media (min-aspect-ratio:4/5) and (min-width:650px){.kiosk{width:min(100%,56.25dvh);min-height:100dvh;font-size:clamp(12px,1.46dvh,28px);padding:1.6em}.brand-header{padding-bottom:.8em}.welcome-copy{padding-top:.6em}.welcome h1{margin-top:.65em}.welcome{gap:.8em}.hero{margin:.5em 0}.welcome-bottom{padding-top:.5em}.shell-footer{padding-top:.8em}.icon-button{width:40px;height:40px}.game{gap:.8em}.question{padding:0}.question p{margin-top:.5em}.button{min-height:48px}.choice{min-height:48px}.disclosure{margin-top:.7em}.result{gap:.8em}.result h1{margin:.6em 0}.seal{width:10em;height:10em}.seal strong{font-size:3.5em}}
@media (max-width:480px){.kiosk{padding:var(--s6)}.welcome h1{font-size:2.8em}.welcome-copy{padding-top:var(--s2)}.welcome{gap:var(--s4)}.hero{margin:var(--s2) 0}.mission-summary{gap:var(--s3)}.mission-summary span+span{padding-left:var(--s3)}.choice{padding:var(--s3);gap:var(--s2)}.choice .choice-icon{display:none}.choice strong{font-size:.88em}.choice small{font-size:.65em}.game{gap:var(--s4)}.question h1{font-size:1.8em}.shell-footer{font-size:.62em}.mode-badge{font-size:.63em}.brand{font-size:1.1em}.result h1{font-size:2.4em}.seal{width:11em;height:11em}.result{gap:var(--s4)}}
@media(prefers-reduced-motion:reduce){.enter{animation:none}.button,.choice{transition:opacity var(--micro)}.button:active:not(:disabled),.choice:active:not(:disabled){transform:none}}

.brand-logo{display:block;width:10em;height:auto}.primary{background:var(--lime);color:var(--ink)}.step.current{background:var(--lime)}.target-region{border-color:var(--lime)}
.photo-stage{width:fit-content;max-width:100%;margin-inline:auto}.photo-stage img{width:auto;max-width:100%;max-height:28dvh;object-fit:contain}.photo-card{background:var(--secondary)}.photo-caption{flex-wrap:wrap}
.gift-card{display:grid;grid-template-columns:10em 1fr;align-items:center;text-align:left;gap:var(--s4);border:2px solid var(--ink);border-radius:var(--r-lg);padding:var(--s4);background:var(--white)}.qr-window{position:relative;width:10em;height:10em;overflow:hidden;background:white;border-radius:var(--r-sm)}.qr-window img{position:absolute;width:16em;max-width:none;left:-3em;top:-5.15em}.gift-card h2{font-size:1.18em}.gift-card p{font-size:.72em;margin-top:.6em}.gift-card strong{display:block;font-size:.82em;margin-top:.6em}.result .seal{width:7em;height:7em;margin:0 auto}.result .seal strong{font-size:2.5em}.result .seal svg,.result .seal-label:first-child{display:none}.result .seal .seal-inner{gap:.5em}.result .seal-label{font-size:.5em}
@media(max-width:480px){.brand-logo{width:9em}.gift-card{grid-template-columns:1fr;text-align:center}.qr-window{margin:auto}.photo-stage img{max-height:42dvh}}
.qr-window{height:9em}.qr-window img{height:auto;top:-6.2em}
.welcome h1{font-size:2.45em;line-height:1.22}.welcome .hero-image{max-height:32dvh;object-fit:cover}.welcome h1 em{white-space:normal}
@media(max-width:480px){.welcome h1{font-size:2.05em}}

.survey{display:flex;flex:1;flex-direction:column;gap:var(--s6)}.survey-items{display:flex;flex-direction:column;gap:var(--s4)}.survey-item{border:0;margin:0;background:var(--white);border-radius:var(--r-lg);padding:var(--s4);box-shadow:0 3px 0 var(--faint);min-width:0}.survey-item legend{float:left;width:100%;display:flex;gap:var(--s2);font-size:.82em;font-weight:650;line-height:1.45;word-break:keep-all;margin-bottom:var(--s3)}.survey-item legend span{flex:none;width:1.6em;height:1.6em;border-radius:50%;background:var(--lime);display:grid;place-items:center;font-size:.85em}.scale,.survey-options{clear:both;display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s2)}.survey-options{grid-template-columns:repeat(3,1fr)}.scale button,.survey-options button{min-height:52px;border:0;border-radius:var(--r-sm);background:var(--secondary);color:var(--ink);font-size:.86em;font-weight:650;transition:transform var(--micro)}.survey-options button{font-size:.72em;word-break:keep-all;padding:var(--s2)}.scale button[aria-pressed=true],.survey-options button[aria-pressed=true]{background:var(--ink);color:var(--white)}.scale button:active,.survey-options button:active{transform:scale(.96)}.scale-ends{display:flex;justify-content:space-between;font-size:.58em;color:var(--muted);margin-top:var(--s2)}.survey-skip{display:block;margin:var(--s2) auto 0}
