/* Full-screen background, with one shared framing through the entire funnel. */
.intro .cover-video.dohwa-cover{height:100svh;object-fit:cover;object-position:center top;animation:none}
.dohwa-input-portrait{position:absolute;inset:0;width:100%;height:100svh;pointer-events:none}
.dohwa-input-frame{position:absolute;inset:0;overflow:hidden;filter:blur(0);transition:filter .9s cubic-bezier(.22,1,.36,1)}
.dohwa-input-frame img,.dohwa-input-frame video{position:absolute;inset:0;width:100%;max-width:none;height:100%;display:block;object-fit:cover;object-position:center top}
.dohwa-input-frame.is-motion-reduced video{visibility:hidden}
.input-screen .input-shade{display:block;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.3) 65%,rgba(0,0,0,.9) 100%)}
.input-screen[data-input-phase="blurring"] .dohwa-input-frame,.input-screen[data-input-phase="ready"] .dohwa-input-frame{filter:blur(8px)}
.dohwa-input-welcome{position:absolute;top:min(72dvh,640px);left:24px;right:24px;z-index:10;text-align:center;pointer-events:auto;transition:opacity .5s;background:none;border:0;padding:12px 0;cursor:pointer;color:inherit;font:inherit;-webkit-tap-highlight-color:transparent}
.dohwa-input-welcome-line{display:block;white-space:nowrap}
.dohwa-input-welcome-hint{display:block;margin-top:calc(20 * var(--dohwa-font-unit));font:400 calc(12 * var(--dohwa-font-unit))/1.5 var(--dohwa-font-dialogue);color:#c2b5a9}
.dohwa-input-welcome:focus-visible{outline:2px solid #e4bc8e;outline-offset:4px}
.dohwa-input-word{display:inline-block;white-space:nowrap}
.dohwa-input-letter{opacity:0;animation:dohwa-input-letter-in .12s ease-out var(--dohwa-letter-delay) both;animation-play-state:var(--dohwa-copy-play-state,running)}
@keyframes dohwa-input-letter-in{to{opacity:1}}
.input-screen[data-input-phase="blurring"] .dohwa-input-welcome{opacity:0}
.input-screen:not([data-input-phase="ready"]) .input-wrap{visibility:hidden;pointer-events:none}
.input-screen[data-input-phase="ready"] .input-body{animation:dohwa-copy-emerge .5s both}
.input-screen .input-title>span{animation:none;opacity:1}
.input-screen .input-control{animation:none}
.input-body.dohwa-input-review{padding-top:88px;gap:20px}
.dohwa-input-review .input-title{word-break:keep-all}
.dohwa-review-hint{margin:10px 0 0;font-size:calc(15 * var(--dohwa-font-unit));line-height:1.5;color:#d2cbc3}
.dohwa-review-list{display:flex;flex-direction:column;gap:6px}
.dohwa-review-row{border:1px solid #ffffff24;border-radius:12px;background:#171310b8;overflow:hidden}
.dohwa-review-row summary{display:grid;grid-template-columns:76px minmax(0,1fr) 14px;gap:8px;align-items:center;min-height:48px;padding:12px;cursor:pointer;list-style:none}
.dohwa-review-row summary::-webkit-details-marker{display:none}
.dohwa-review-row summary>span:first-child{font-size:calc(13 * var(--dohwa-font-unit));color:#c2b5a9}
.dohwa-review-row summary b{font-size:calc(15 * var(--dohwa-font-unit));font-weight:500;line-height:1.45;overflow-wrap:anywhere}
.dohwa-review-chevron{color:#c2b5a9;transition:transform .15s}
.dohwa-review-row[open] .dohwa-review-chevron{transform:rotate(90deg)}
.dohwa-review-row[open]{border-color:#e4bc8e88}
.dohwa-review-row.has-error{border-color:#ef777777}
.dohwa-review-editor{padding:0 12px 14px}
.dohwa-review-input{display:block;width:100%;min-width:0;min-height:44px;padding:8px 0;border:0;border-bottom:1px solid #e4bc8e;background:transparent;color:#fff;font:inherit;font-size:calc(16 * var(--dohwa-font-unit));border-radius:0}
.dohwa-review-input:disabled{opacity:.4}
.dohwa-review-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.dohwa-review-options button{min-height:40px;padding:8px 12px;border:1px solid #ffffff33;border-radius:20px;background:#ffffff0a;color:#ddd;font-size:calc(14 * var(--dohwa-font-unit));line-height:1.4}
.dohwa-review-options button[aria-pressed="true"]{border-color:#e4bc8e;color:#f6eadb;background:#e4bc8e20}
.dohwa-review-time{display:flex;align-items:center;gap:12px}
.dohwa-review-time input{width:72px}
.dohwa-review-warning{margin:0;color:#e4bc8e;font-size:calc(14 * var(--dohwa-font-unit));line-height:1.5}
.dohwa-review-submit{width:100%;min-height:52px;border-radius:16px;background:#fff;color:#111;font:inherit;font-size:calc(16 * var(--dohwa-font-unit));font-weight:600}
.dohwa-review-submit:disabled{opacity:.35;cursor:default}
.dohwa-privacy-notice{margin:-2px -6px 0;text-align:center;white-space:nowrap;color:#bfb7b2;font-size:calc(10 * var(--dohwa-font-unit));line-height:1.8;letter-spacing:-.02em}
.dohwa-privacy-notice a{color:#e4bc8e;text-underline-offset:2px}
.dohwa-input-review :focus-visible{outline:2px solid #e4bc8e;outline-offset:3px}
.dohwa-input-review h1:focus{outline:none}
@media(prefers-reduced-motion:reduce){.dohwa-input-frame video{visibility:hidden}.input-screen .input-title>span,.dohwa-input-letter{animation:none;opacity:1}.input-screen .input-control,.input-screen .choice,.input-screen .resume-next,.input-screen .input-body{animation:none}.input-screen .input-wrap,.dohwa-input-frame,.dohwa-input-welcome{transition:none}}

/* Mini screens keep their form inside the viewport; touch targets stay usable. */
.input-screen .input-wrap{padding-inline:calc(20 * var(--dohwa-font-unit));padding-bottom:max(calc(20 * var(--dohwa-font-unit)),env(safe-area-inset-bottom,0px))}
.input-screen .input-body{padding-top:72px;gap:calc(24 * var(--dohwa-font-unit))}
.input-screen .input-body.dohwa-input-review{padding-top:72px;gap:calc(20 * var(--dohwa-font-unit))}
.input-screen .toggle .pill{padding-inline:calc(14 * var(--dohwa-font-unit))}
.input-screen .dohwa-input-welcome{left:calc(24 * var(--dohwa-font-unit));right:calc(24 * var(--dohwa-font-unit));top:auto;bottom:max(8svh,24px)}
@media(max-width:360px){.dohwa-review-row summary{grid-template-columns:64px minmax(0,1fr) 12px;gap:6px;padding:10px}.dohwa-review-time{gap:6px}.dohwa-review-time input{width:56px}}
@media(max-height:520px){.input-screen .input-body{gap:12px}.input-screen .gender-list{gap:8px}.input-screen .gender-list .choice{height:48px;min-height:48px}.input-screen .radio-list .choice{min-height:44px;padding-block:8px}}
