/* Compact native welcome dialog. Reuses the existing local oak texture across the whole card. */
.grain-signup{width:min(460px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:min(720px,calc(100dvh - 32px));padding:0;border:1px solid #d8c5ab;border-radius:18px;background:#faf5eb;background-image:linear-gradient(125deg,#fbf7edeb,#f7eddeD9),url('wood-oak.webp');background-size:auto,cover;background-position:center;color:#35261c;box-shadow:0 24px 100px #2416094a;overflow:auto;overscroll-behavior:contain;font-family:inherit;margin:auto}.grain-signup::backdrop{background:#20170f69;backdrop-filter:blur(3px)}.grain-signup[hidden],.grain-signup [hidden]{display:none!important}.grain-signup__content{position:relative;padding:48px 32px 28px;overflow:hidden}.grain-signup__close{position:absolute;z-index:2;inset-block-start:10px;inset-inline-end:10px;width:38px;height:38px;padding:9px;border:0;border-radius:50%;background:transparent;color:#5a4534;display:grid;place-items:center;cursor:pointer}.grain-signup__close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}.grain-signup__close:hover{background:#e9ddca}.grain-signup__grain{display:none}.grain-signup__eyebrow{font-size:10px;letter-spacing:.15em;text-transform:uppercase;margin:0 0 12px;color:#8e6544}.grain-signup h2{font-family:inherit!important;font-size:clamp(25px,5vw,34px)!important;font-weight:500!important;line-height:1.17!important;letter-spacing:-.025em!important;margin:0 0 12px!important;text-wrap:balance;color:inherit}.grain-signup #grain-signup-description{font-size:14px;line-height:1.55;color:#76624f;margin:0 0 22px;max-width:34ch}.grain-signup__form{display:flex;flex-direction:column;gap:10px}.grain-signup__form>label:not(.grain-signup__consent){font-size:12px;color:#69513d}.grain-signup input[type=email]{width:100%;height:48px;min-height:48px;padding:10px 13px;background:#fffdf8;border:1px solid #cfbfa9;border-radius:8px;font:inherit;font-size:16px;color:#35261c;box-sizing:border-box}.grain-signup input[type=email]:focus{outline:2px solid #936741;outline-offset:2px}.grain-signup__consent{display:flex;gap:9px;align-items:flex-start;font-size:11px;line-height:1.5;color:#75634f;margin:2px 0 6px}.grain-signup__consent input{width:15px;height:15px;flex:none;accent-color:#5c3c26;margin:1px 0 0}.grain-signup .grain-signup__button{display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;box-sizing:border-box;padding:12px 16px;border:1px solid #5a3b26;border-radius:8px;font:inherit;font-size:14px;font-weight:500;line-height:1.3;background:#543721;color:#fff8ea;text-decoration:none;text-align:center;cursor:pointer;box-shadow:inset 0 1px #ffffff14;transition:background .18s ease}.grain-signup__button:hover{background:#38261a}.grain-signup__button:disabled{opacity:.65;cursor:wait}.grain-signup__later{padding:7px;border:0;background:transparent;color:#786651;font:inherit;font-size:12px;cursor:pointer;min-height:32px}.grain-signup__terms{font-size:10px!important;color:#8a7763!important;line-height:1.55!important;margin:14px 0 0!important}.grain-signup__terms a{display:inline-flex;align-items:center;justify-content:center;min-height:30px;margin-inline-start:4px;padding:3px 9px;border:1px solid #bca58b;border-radius:5px;background:#fbf5e9;color:#654a34;text-decoration:none}.grain-signup__terms a:hover{background:#ecddc6}.grain-signup__status{font-size:12px;line-height:1.5;padding:10px 12px;background:#efe4d0;border-radius:7px;margin:14px 0 0;color:#624830}.grain-signup__status.is-error{background:#f5e4da;color:#934c2e}.grain-signup__trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.grain-signup__ready{font-size:17px;line-height:1.4;margin:4px 0 14px;font-weight:500}.grain-signup__success>p:not(.grain-signup__ready){font-size:13px;line-height:1.6;color:#76624f;margin:14px 0 20px}.grain-signup__code-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;border:1px dashed #bea584;background:#f0e5d0;border-radius:8px;padding:12px}.grain-signup__code-row output{font-size:12px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.025em;flex:1;overflow-wrap:anywhere;color:#5a3b26}.grain-signup__code-row button{padding:8px 10px;border:1px solid #c4af90;border-radius:6px;background:#faf5eb;color:#5a3b26;white-space:nowrap;font:inherit;font-size:11px;cursor:pointer}.grain-signup :focus-visible{outline:2px solid #936741;outline-offset:3px}.grain-signup[dir=rtl] .grain-signup__eyebrow{letter-spacing:0;font-size:12px}.grain-signup[dir=rtl] h2{line-height:1.45!important;letter-spacing:0!important}
@media(max-width:360px){.grain-signup{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:14px}.grain-signup__content{padding:44px 20px 24px}.grain-signup h2{font-size:25px!important}.grain-signup #grain-signup-description{font-size:13px;margin-bottom:18px}.grain-signup__code-row{gap:8px}}
@media(max-height:620px) and (min-width:600px){.grain-signup__content{padding-top:42px}.grain-signup h2{font-size:27px!important}.grain-signup #grain-signup-description{margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.grain-signup *{transition:none!important}}
