: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}.badge .title{margin-top:6px;font-size:15px}.meaning{border:3px solid var(--ink);color:var(--ink);background:#ffffffe0;border-radius:12px;margin:14px 0 0;padding:14px 16px;line-height:1.7}.meaning .sentence{margin:0 0 10px;font-size:16px;font-weight:700}.meaning dl{grid-template-columns:auto 1fr;gap:4px 10px;margin:0;font-size:14px;display:grid}.meaning dt{font-family:var(--dot);white-space:nowrap}.meaning dd{margin:0}body[data-tone=dark]{color:#fff}body[data-tone=dark]:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(2px 2px at 12% 18%,#fff 50%,#0000 51%),radial-gradient(2px 2px at 78% 12%,#fff3b0 50%,#0000 51%),radial-gradient(3px 3px at 36% 34%,#fff 50%,#0000 51%),radial-gradient(2px 2px at 88% 42%,#fff 50%,#0000 51%),radial-gradient(2px 2px at 22% 58%,#fff3b0 50%,#0000 51%),radial-gradient(3px 3px at 64% 22%,#fff 50%,#0000 51%),radial-gradient(2px 2px at 52% 70%,#fff 50%,#0000 51%),radial-gradient(2px 2px at 8% 84%,#fff 50%,#0000 51%),radial-gradient(3px 3px at 92% 76%,#fff3b0 50%,#0000 51%),radial-gradient(2px 2px at 44% 8%,#fff 50%,#0000 51%);animation:2.6s ease-in-out infinite alternate twinkle;position:fixed;inset:0}@keyframes twinkle{0%{opacity:.45}to{opacity:1}}body[data-tone=dark] #app{z-index:1;position:relative}body[data-tone=dark] .notice,body[data-tone=dark] .meaning,body[data-tone=dark] .interview{color:var(--ink)}.qnav{min-height:30px;margin-bottom:4px}.back{font-family:var(--dot);color:var(--ink);border:2px solid var(--ink);cursor:pointer;background:#ffffffbf;border-radius:8px;padding:4px 12px;font-size:15px}body[data-tone=dark] .back{color:var(--ink)}.choice.on{background:#fff4a8}.text.locked{color:#555a70;background:#eef0f6}.advice{color:var(--ink);border:3px solid var(--ink);box-shadow:0 5px 0 var(--shadow);background:#fff;border-radius:12px;margin:14px 0 0;padding:14px 16px;line-height:1.7}.advice h3{font-family:var(--dot);margin:0 0 4px;font-size:15px}.advice h3+p{margin:0 0 12px;font-size:15px}.advice .todo{background:#fff4a8;border-radius:8px;margin:0;padding:8px 10px;font-size:16px;font-weight:700}.note-link{text-align:center;color:var(--ink);border:3px solid var(--ink);background:#ffffffe0;border-radius:12px;margin:22px 0 8px;padding:14px 16px 10px}.note-link p{font-family:var(--dot);margin:0 0 10px;font-size:18px}.note-link .btn{text-align:center;text-decoration:none;display:block}.note-qr{background:#fff;border-radius:6px;width:96px;margin:12px auto 4px;padding:4px}.note-qr svg{width:100%;height:auto;display:block}.note-link small{opacity:.7;font-size:11px}.review .choice:disabled,.review .chip:disabled{cursor:default}.review .choice:not(.on),.review .chip:not(.on){opacity:.35}.review .choice.on,.review .chip.on{box-shadow:0 5px 0 var(--shadow);transform:none}.review .text{color:#555a70;background:#eef0f6}.lock-note{text-align:center;color:var(--ink);border:2px solid var(--ink);background:#fff4a8;border-radius:10px;margin:-12px 0 16px;padding:8px 12px;font-size:14px;font-weight:700;line-height:1.5}
