/* The public journey shares Flockin's ink and illustrations, with a quiet, focused canvas. */
.public-entry{--public-ink:#183f32;max-width:490px;margin:0 auto;padding:22px 24px 30px;min-height:100dvh;background:#fffdf5;color:var(--public-ink);box-sizing:border-box;font-family:inherit}
body:has(.public-entry){background:#f4f3e9}.public-entry *{box-sizing:border-box}.public-entry a{text-decoration:none;color:inherit}.public-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px}.public-header>a{display:flex}.public-brand{display:flex;align-items:center;gap:5px}.public-brand>img:first-child{border-radius:10px}.public-brand>img{object-fit:contain}.public-button{border:0;border-radius:17px;min-height:52px;padding:13px 19px;font:inherit;font-size:16px;font-weight:800;cursor:pointer;transition:transform .13s ease,background .13s ease;display:block;width:100%;line-height:1.4}.public-button:active{transform:scale(.977)}.public-button.primary{background:#204e3c;color:#fffef6;box-shadow:0 3px 0 #123c2d}.public-button.secondary{background:#e9e5fa;color:#254337;border:1px solid #dbd6ec}.public-button.quiet{background:transparent;color:var(--public-ink);font-size:13px;padding:10px 0;width:auto;min-height:44px}.public-button:disabled{opacity:.6;cursor:wait}.public-entry :focus-visible{outline:3px solid #8961db;outline-offset:4px}.public-eyebrow{font-size:11px;letter-spacing:.16em;font-weight:850;margin:0 0 12px;color:#627161}.public-intro h1{font-size:clamp(27px,7.5vw,34px);letter-spacing:-.05em;line-height:1.13;font-weight:850;margin:0 0 25px;text-wrap:balance}.public-search{display:flex;align-items:center;gap:10px;border:1px solid #e0e2d7;border-radius:15px;background:#fffefa;padding:0 13px;margin-bottom:20px;box-shadow:0 2px 0 #e7e8dc66}.public-search>span{font-size:27px;line-height:1}.public-entry .public-search input{min-width:0;border:0;background:transparent;box-shadow:none;margin:0;padding:13px 0;font-size:14px;color:var(--public-ink);height:48px}.public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.public-card{height:148px;border-radius:18px;padding:10px 10px 12px;position:relative;border:1px solid #203e3014;box-shadow:0 3px 0 #2947350b;transition:transform .15s ease;overflow:hidden}.public-grid>a:active .public-card{transform:scale(.975)}.public-card .entry-art{display:block;width:78px;height:76px;object-fit:contain;margin:-2px auto 3px}.public-card h2,.public-card-name{display:block;font-size:14px;font-weight:900;letter-spacing:-.045em;margin:0 0 4px;line-height:1.2}.public-card p{font-size:11px;color:#526353;margin:0;line-height:1.4;max-width:100%}.public-card-arrow{position:absolute;bottom:15px;right:12px;font-size:18px;line-height:1}.public-entry .lime{background:#e5f0b0}.public-entry .peach{background:#ffe1c8}.public-entry .lilac{background:#e4dbfa}.public-entry .mint{background:#dceddc}.public-entry footer{text-align:center;font-size:11px;color:#788072;margin-top:25px;line-height:1.5}.public-back{font-size:13px;display:inline-block;margin:-5px 0 12px;padding:4px 0}.public-hero{text-align:center;border-radius:26px;padding:16px 15px 23px;margin-bottom:21px}.public-hero .entry-art{width:174px;height:172px;object-fit:contain;margin:-7px auto 0;display:block}.public-hero .public-eyebrow{letter-spacing:.02em;text-transform:none;color:#3c5d43;font-size:15px;margin:0 0 9px}.public-hero h1,.public-invite h1{font-size:32px;font-weight:900;line-height:1.08;letter-spacing:-.055em;margin:0 auto;max-width:340px}.public-example{border:1px solid #e5e6d9;border-radius:20px;background:#fffffa;padding:16px 13px;margin-bottom:22px}.public-example>.public-eyebrow{font-size:9px;margin-bottom:12px}.public-example-row{display:flex;gap:9px;align-items:flex-start;margin-top:11px}.public-example-row>img{width:31px;height:31px;border-radius:10px;object-fit:contain;flex-shrink:0}.public-example-row>p,.public-example-reply{margin:0;font-size:13px;line-height:1.5;border-radius:14px;padding:11px 13px}.public-example-user{background:#f0edf8}.public-example-reply{background:#f2f5e6;flex:1}.public-example-reply p{margin:0}.public-example-chip{display:inline-block;background:white;border:1px solid #dce2cd;border-radius:9px;padding:5px 10px;margin-top:9px;font-size:11px;font-weight:800}.public-actions{display:grid;gap:10px}.public-error:empty{display:none}.public-error{font-size:13px;color:#9a332c;line-height:1.5;margin:8px 0}.public-setup{display:grid;gap:12px}.public-setup label{font-size:14px;font-weight:800}.public-setup input{width:100%;border:1px solid #ced7c5;border-radius:14px;padding:15px;background:white;font-size:16px;color:var(--public-ink)}.public-setup .public-button{margin-top:8px}.public-invite{text-align:center;padding-top:20px}.public-invite-art{width:210px;height:210px;margin:24px auto 27px;border-radius:50%;position:relative;display:grid;place-items:center}.public-invite-art>.entry-art{width:192px;height:192px;object-fit:contain}.public-invite-person{position:absolute;bottom:-2px;right:-7px;border:5px solid #fffdf5;border-radius:23px}.public-invite-subtitle{font-size:16px;margin:17px 0 10px;color:#56664f}.public-invite-name{font-size:14px;font-weight:800;overflow-wrap:anywhere;margin:0 0 30px}.public-small{font-size:11px;color:#788072;margin:15px 0}.public-entry .public-empty{font-size:14px;line-height:1.5}.public-share-preview{display:flex;align-items:center;gap:14px;background:#eef2da;border:1px solid #dfe5ca;border-radius:18px;padding:14px}.public-share-preview img{width:72px;height:72px;object-fit:contain}.public-share-preview strong{font-size:18px;letter-spacing:-.04em}.public-share-preview p{font-size:12px;color:#617057;margin:6px 0 0}.public-share-sheet{gap:12px}.public-share-sheet input{font-size:13px}.public-share-sheet .public-button{color:#fff}.public-share-sheet .public-button.secondary{color:#254337}.public-share-note{font-size:11px;color:var(--muted);line-height:1.4;margin:0}.public-share-sheet .btn{width:100%}
@media(min-width:720px){.public-entry{margin:28px auto;min-height:calc(100dvh - 56px);border:1px solid #e2e6d8;border-radius:30px;box-shadow:0 18px 60px #26392b0b;padding:27px 30px 30px}.public-card{height:158px}.public-card .entry-art{height:86px;width:88px}}
@media(max-width:350px){.public-entry{padding:18px 17px 25px}.public-grid{gap:8px}.public-card{padding:9px 7px;height:140px}.public-card .entry-art{width:69px;height:70px}.public-card h2,.public-card-name{display:block;font-size:12.5px}.public-card p{font-size:10px}.public-brand>img:last-child{width:94px}.public-hero h1,.public-invite h1{font-size:29px}}
@media(prefers-reduced-motion:reduce){.public-entry *{transition:none!important}}

.public-share-sheet .public-button{text-align:center;text-decoration:none}.public-share-sheet input{width:100%;min-width:0;border:1px solid #e1e6d7;border-radius:12px;padding:11px 12px;background:#f9fbf3;color:#51604b;text-align:center;font:inherit;font-size:12px;text-overflow:ellipsis}

/* A small fan of familiar characters on arrival, kept clear of the OTP steps. */
.entry-sidekick-fan{display:flex;align-items:center;justify-content:center;width:100%;height:110px;margin:24px auto 5px;isolation:isolate}
.entry-sidekick-tile{display:grid;place-items:center;width:62px;height:76px;flex:0 1 62px;min-width:0;border-radius:18px;border:3px solid var(--canvas);box-shadow:0 5px 10px #2947350b;transform:translateY(4px) rotate(-9deg)}
.entry-sidekick-tile+.entry-sidekick-tile{margin-left:-7px}.entry-sidekick-tile:nth-child(2){transform:translateY(-5px) rotate(5deg)}.entry-sidekick-tile:nth-child(3){transform:translateY(-9px) rotate(-5deg)}.entry-sidekick-tile:nth-child(4){transform:translateY(-5px) rotate(7deg)}.entry-sidekick-tile:nth-child(5){transform:translateY(1px) rotate(-5deg)}.entry-sidekick-tile:nth-child(6){transform:translateY(8px) rotate(9deg)}
.entry-sidekick-tile .entry-art{width:100%;height:66px;object-fit:contain}.entry-sidekick-tile.lime{background:#e5f0b0}.entry-sidekick-tile.peach{background:#ffe1c8}.entry-sidekick-tile.lilac{background:#e4dbfa}.entry-sidekick-tile.mint{background:#dceddc}
.auth-box:has(.entry-sidekick-fan) .entry-title{font-size:clamp(27px,7.5vw,32px);line-height:1.14;letter-spacing:-.05em;text-wrap:balance;margin:14px 0 29px}.auth-box:has(.entry-sidekick-fan) .entry-invitation{margin:0 0 20px}
@media(max-height:650px){.auth-page:has(.entry-sidekick-fan){padding-top:24px;padding-bottom:24px}.entry-sidekick-fan{height:84px;margin-top:14px}.auth-box:has(.entry-sidekick-fan) .entry-title{margin-bottom:20px}}

/* One character takes a turn: short lift, quiet outline, useful caption.
   Fixed-size cards keep the search results and tap targets stationary. */
.public-intro .public-subtitle{max-width:330px;text-wrap:pretty;line-height:1.55}
.public-card .public-utility{display:inline-block;margin:3px -3px 0;padding:3px 4px;border-radius:7px;font-size:10px;line-height:1.35;letter-spacing:-.01em;color:#405740;max-width:calc(100% + 6px)}
.public-grid>a{--spot-delay:0s}.public-grid>a:nth-child(2){--spot-delay:3s}.public-grid>a:nth-child(3){--spot-delay:6s}.public-grid>a:nth-child(4){--spot-delay:9s}.public-grid>a:nth-child(5){--spot-delay:12s}.public-grid>a:nth-child(6){--spot-delay:15s}
.public-grid.is-animated .public-card{animation:sidekick-spotlight 18s ease-in-out var(--spot-delay) infinite}
.public-grid.is-animated .entry-art{animation:sidekick-hello 18s ease-in-out var(--spot-delay) infinite;transform-origin:50% 80%}
.public-grid.is-animated .public-utility{animation:sidekick-utility 18s ease-in-out var(--spot-delay) infinite}
.public-grid:focus-within *{animation-play-state:paused!important}
@media(hover:hover){.public-grid:hover *{animation-play-state:paused!important}}
@keyframes sidekick-spotlight{0%,16.67%,100%{box-shadow:0 3px 0 #2947350b;border-color:#203e3014}2%,13%{box-shadow:0 0 0 2px #55773d,0 8px 18px #44652d16;border-color:#fffdf5}}
@keyframes sidekick-hello{0%,16.67%,100%{transform:translateY(0) rotate(0) scale(1)}3%{transform:translateY(-3px) rotate(-4deg) scale(1.07)}6%{transform:translateY(-3px) rotate(3deg) scale(1.07)}9%,13%{transform:translateY(-2px) rotate(0) scale(1.04)}}
@keyframes sidekick-utility{0%,16.67%,100%{background:transparent;color:#405740}2%,13%{background:#fffef5;color:#183f32;box-shadow:0 1px 3px #29473512}}
@media(prefers-reduced-motion:reduce){.public-grid.is-animated *{animation:none!important}}

/* Sign In: each utility sits directly beneath its own character. */
.entry-sidekick-showcase{position:relative;margin-bottom:5px}
.entry-sidekick-showcase .entry-sidekick-fan{margin-bottom:0;height:142px;align-items:flex-start;padding-top:17px}
.entry-sidekick-slot{position:relative;flex:0 1 62px;min-width:0;--fan-turn:0s;--fan-y:4px;--fan-tilt:-9deg}
.entry-sidekick-slot+.entry-sidekick-slot{margin-left:-7px}
.entry-sidekick-slot:nth-child(2){--fan-turn:-15s;--fan-y:-5px;--fan-tilt:5deg}
.entry-sidekick-slot:nth-child(3){--fan-turn:-12s;--fan-y:-9px;--fan-tilt:-5deg}
.entry-sidekick-slot:nth-child(4){--fan-turn:-9s;--fan-y:-5px;--fan-tilt:7deg}
.entry-sidekick-slot:nth-child(5){--fan-turn:-6s;--fan-y:1px;--fan-tilt:-5deg}
.entry-sidekick-slot:nth-child(6){--fan-turn:-3s;--fan-y:8px;--fan-tilt:9deg}
.entry-sidekick-showcase .entry-sidekick-tile{width:100%;transform:translateY(var(--fan-y)) rotate(var(--fan-tilt));animation:signin-card-turn 18s ease-in-out var(--fan-turn) infinite}
.entry-fan-caption{position:absolute;top:92px;left:-9px;right:-9px;text-align:center;font-size:11px;line-height:1.25;font-weight:750;color:#405b36;opacity:0;animation:signin-caption-turn 18s ease-in-out var(--fan-turn) infinite}
.auth-box:has(input:focus) .entry-sidekick-showcase *{animation-play-state:paused!important}
@keyframes signin-card-turn{0%,16.67%,100%{transform:translateY(var(--fan-y)) rotate(var(--fan-tilt)) scale(1);box-shadow:0 5px 10px #2947350b;z-index:0}2%,13%{transform:translateY(-16px) rotate(0) scale(1.1);box-shadow:0 0 0 2px #76964f,0 10px 20px #2947351c;z-index:2}}
@keyframes signin-caption-turn{0%,16.67%,100%{opacity:0;transform:translateY(4px)}2%,13%{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.entry-sidekick-showcase *{animation:none!important}.entry-sidekick-slot:first-child .entry-fan-caption{opacity:1;transform:none}}
@media(max-height:650px){.entry-sidekick-showcase .entry-sidekick-fan{height:126px}}
