:root{--sky1:#d9f3ff;--sky2:#8fd3ff;--ink:#1d2340;--card:#fff;--accent:#ff6b6b;--shadow:#1d2340;--dot:"DotGothic16", "Hiragino Sans", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;margin:0}body{color:var(--ink);background:linear-gradient(180deg, var(--sky1), var(--sky2));overscroll-behavior:none;background-attachment:fixed;font-family:Hiragino Sans,system-ui,sans-serif;transition:background .6s}#app{max-width:480px;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 20px) 20px calc(env(safe-area-inset-bottom) + 24px);flex-direction:column;margin:0 auto;display:flex}.screen{flex-direction:column;flex:1;animation:.35s cubic-bezier(.2,1.4,.4,1) pop;display:flex}@keyframes pop{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:none}}.dot{font-family:var(--dot);letter-spacing:.04em}.event{font-family:var(--dot);opacity:.7;text-align:center;font-size:14px}.title{font-family:var(--dot);text-align:center;margin:12px 0 6px;font-size:40px;line-height:1.15}.lead{text-align:center;margin:8px 0 0;font-size:15px;line-height:1.8}.hero{flex:1;justify-content:center;align-items:center;min-height:260px;display:flex}.hero canvas{width:100%!important;height:100%!important}.btn{width:100%;font-family:var(--dot);border:3px solid var(--ink);background:var(--accent);color:#fff;box-shadow:0 6px 0 var(--shadow);cursor:pointer;border-radius:14px;padding:18px 16px;font-size:20px;transition:transform 80ms,box-shadow 80ms;display:block}.btn:active{box-shadow:0 1px 0 var(--shadow);transform:translateY(5px)}.btn.sub{color:var(--ink);background:#fff;padding:14px;font-size:16px}.progress{justify-content:center;gap:6px;margin-bottom:12px;display:flex}.progress i{border:2px solid var(--ink);background:#fff;border-radius:3px;flex:1;max-width:34px;height:10px}.progress i.on{background:var(--ink)}.qno{font-family:var(--dot);text-align:center;opacity:.75;font-size:16px}.qtext{font-family:var(--dot);text-align:center;margin:10px 0 26px;font-size:27px;line-height:1.45}.choices{flex-direction:column;gap:14px;display:flex}.choice{text-align:left;color:var(--ink);background:var(--card);border:3px solid var(--ink);width:100%;box-shadow:0 5px 0 var(--shadow);cursor:pointer;border-radius:14px;align-items:center;gap:14px;padding:18px 16px;font-size:17px;font-weight:700;transition:transform 80ms,box-shadow 80ms,background .15s;display:flex}.choice b{font-family:var(--dot);border:2px solid var(--ink);border-radius:6px;flex:none;place-items:center;width:30px;height:30px;font-size:15px;display:grid}.choice:active,.choice.picked{box-shadow:0 1px 0 var(--shadow);background:#fff4a8;transform:translateY(4px)}.btn:disabled{opacity:.45;box-shadow:0 6px 0 var(--shadow);cursor:default;transform:none}.choice.multi{padding:14px;font-size:16px}.choice.multi:active{box-shadow:0 5px 0 var(--shadow);background:var(--card);transform:none}.choice.multi .box{border:3px solid var(--ink);background:#fff;border-radius:5px;flex:none;width:24px;height:24px;position:relative}.choice.multi.on{background:#fff4a8}.choice.multi.on .box{background:var(--ink)}.choice.multi.on .box:after{content:"";border:3px solid #fff;border-width:0 3px 3px 0;width:6px;height:11px;position:absolute;top:1px;left:5px;transform:rotate(45deg)}.qtext.small{margin:4px 0 10px;font-size:22px}.note{opacity:.8;margin:-14px 0 18px;font-size:14px;line-height:1.6}.note.center{text-align:center}.question .stack{margin-top:22px;padding-top:4px}.field{margin-bottom:18px}.ftext{margin:0 0 8px;font-size:16px;line-height:1.5}.chips{gap:8px;display:grid}.chips.grid4{grid-template-columns:repeat(4,1fr)}.chips.grid3{grid-template-columns:repeat(3,1fr)}.chips.list{grid-template-columns:1fr}.chip{color:var(--ink);background:var(--card);border:3px solid var(--ink);box-shadow:0 3px 0 var(--shadow);cursor:pointer;border-radius:10px;padding:11px 6px;font-size:15px;font-weight:700;line-height:1.3}.chips.list .chip{text-align:left;padding:11px 14px}.chip.on{background:var(--ink);color:#fff}.text{border:3px solid var(--ink);width:100%;color:var(--ink);background:#fff;border-radius:12px;outline:none;padding:15px 14px;font-family:inherit;font-size:17px}.text:focus{box-shadow:0 0 0 4px #fffc}.text.other{margin-top:-6px;padding:12px;font-size:16px}.group{margin-bottom:16px}.glabel{font-family:var(--dot);background:var(--ink);color:#fff;border-radius:6px;margin:0 0 8px;padding:3px 10px;font-size:16px;display:inline-block}.q1b .choices{gap:10px}.q1b .qtext{margin-bottom:18px}.consent{justify-content:center}.consent-body{border:3px solid var(--ink);background:#fffc;border-radius:12px;margin:0 0 24px;padding:16px;font-size:15px;line-height:1.9}.consent .stack{margin-top:0}.contact{text-align:center;opacity:.6;margin-top:18px;font-size:12px}.declined{justify-content:center}.declined .stack{margin-top:32px}.interview{text-align:center;line-height:1.7;font-family:var(--dot);border:3px solid var(--ink);box-shadow:0 5px 0 var(--shadow);background:#ffe36b;border-radius:12px;margin:14px 0 0;padding:14px;font-size:18px}.building{text-align:center;justify-content:center}.building .hero{flex:none;height:56vh}.building p{font-family:var(--dot);font-size:22px}.result .hero{flex:none;height:40vh;min-height:240px}.badge{text-align:center;font-family:var(--dot)}.badge .no{min-height:50px;font-size:44px;line-height:1.1}.badge .no small{font-size:20px}.badge .no.wait{opacity:.6;padding-top:16px;font-size:18px}.badge .parts{opacity:.8;margin-top:6px;font-size:14px}.notice{text-align:center;border:3px dashed var(--ink);background:#ffffffbf;border-radius:12px;margin:18px 0;padding:14px;font-weight:700;line-height:1.7}.stack{flex-direction:column;gap:14px;margin-top:auto;display:flex}.sheet{z-index:10;padding:calc(env(safe-area-inset-top) + 16px) 20px calc(env(safe-area-inset-bottom) + 16px);color:#fff;text-align:center;background:#141830d1;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:fixed;inset:0}.sheet img{-webkit-touch-callout:default;border-radius:8px;max-width:100%;max-height:70vh;box-shadow:0 10px 40px #0006}.sheet p{font-family:var(--dot);margin:0;font-size:18px}.sheet .btn{max-width:320px}.find-msg{text-align:center;font-family:var(--dot);margin:-4px 0 0;font-size:15px}.result .stack{gap:12px}
