/* Generated from current mini-program Vue styles; red rail intentionally omitted. */

.cw-motion{position:absolute;top:0;left:0;width:100%;height:54px;pointer-events:none;overflow:visible;--face-height:40px;--face-top:7px;--open-scale-x:1.04}
.cw-motion.size-small{--face-height:37px;--face-top:8.5px}
.cw-motion.size-large{--open-scale-x:1.015}
.cw-motion-cavity{position:absolute;z-index:0;top:calc(var(--face-top) + 2px);left:3%;width:94%;height:calc(var(--face-height) - 4px);opacity:0;transition:opacity 130ms ease}
/* The front PNG has transparent rim pixels. Extend the tray behind them so the seam never opens. */
.cw-motion-depth{position:absolute;z-index:1;top:calc(var(--face-top) + 1px);left:1%;width:98%;height:24px;opacity:0;transform:scaleY(0) scaleX(1);transform-origin:50% 0;transition:transform 280ms cubic-bezier(.22,.75,.25,1),opacity 130ms ease}
.cw-motion-front{position:absolute;z-index:2;top:var(--face-top);left:0;width:100%;height:var(--face-height);transform:translateY(0) scale(1);transform-origin:50% 25%;transition:transform 280ms cubic-bezier(.22,.75,.25,1)}
.cw-motion-face{display:block;width:100%;height:100%}
.is-open .cw-motion-cavity{opacity:1}
.is-open .cw-motion-depth{opacity:1;transform:scaleY(1) scaleX(var(--open-scale-x))}
.is-open .cw-motion-front{transform:translateY(18px) scale(var(--open-scale-x),1.04)}
@media (prefers-reduced-motion:reduce){.cw-motion-cavity,.cw-motion-depth,.cw-motion-front{transition:none}}


.cw-resident-card{position:relative;display:block;box-sizing:border-box;width:100%;height:auto;aspect-ratio:85.60 / 53.98;margin:0;padding:0!important;overflow:hidden;border:1px solid #d6dbd0!important;border-radius:12px;color:#263e32;text-align:left;font:400 14px/20px var(--font-ui);box-shadow:0 2px 0 #c8cfbf,0 9px 16px -11px #2a3b2c4d;transition:transform 160ms ease,box-shadow 160ms ease;letter-spacing:0}
.cw-resident-card::after{position:absolute;inset:0;border:0;border-radius:inherit;pointer-events:none}
.cw-resident-card:active{transform:translateY(1px) scale(.987)}.cw-resident-card[disabled]{opacity:.6}
.cw-card-art{position:absolute;right:1px;top:5px;width:51.4%;height:80%;pointer-events:none}.cw-card-symbol{position:absolute;right:12%;top:42%;transform:translateY(-50%);pointer-events:none}
.cw-card-content{position:absolute;left:20px;top:30px;width:calc(46% - 16px);min-width:0;pointer-events:none}.cw-card-identity{display:flex;align-items:center;gap:7px;min-width:0}.cw-card-name{display:block;flex:0 1 auto;min-width:0;font-size:24px;line-height:32px;font-weight:500;color:#1b4d43;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-card-sex{display:flex;align-items:center;justify-content:center;width:15px;height:21px;flex:none}.cw-card-species{display:block;min-width:0;margin-top:2px;color:#526a4e;font-size:12px;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cw-card-facts{display:flex;flex-direction:column;gap:9px;margin-top:11px;min-width:0}.cw-card-gene{display:flex;align-items:flex-start;gap:7px;min-width:0;color:#285848;font-size:14px;line-height:22px}.cw-card-gene-icon{display:flex;flex:none;margin-top:3px}.cw-card-gene-value{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;flex:1;min-width:0;max-height:44px;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:normal;overflow-wrap:break-word}
.cw-card-location{display:flex;align-items:center;gap:7px;min-width:0;color:#526a4e;font-size:13px;line-height:20px}.cw-card-location>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cw-card-footer{position:absolute;bottom:0;left:0;right:0;height:35px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;border-top:1px solid #e0e4d7;background:#f2f4ea;pointer-events:none}.cw-card-uid{display:block;min-width:0;font:400 11.5px/16px ui-monospace,Consolas,monospace;color:#536d51;white-space:nowrap}.cw-card-contactless{display:flex;align-items:center;justify-content:center;flex:none;width:25px;height:25px}
@container cw-resident (max-width:380px){.cw-card-content{left:16px;top:17px;width:calc(46% - 13px)}.cw-card-name{font-size:22px;line-height:28px}.cw-card-species{line-height:16px}.cw-card-facts{gap:6px;margin-top:7px}.cw-card-gene{line-height:20px}.cw-card-gene-value{max-height:40px}.cw-card-gene-icon{margin-top:2px}.cw-card-location{line-height:18px}.cw-card-footer{height:32px;padding:0 14px}}
@media(prefers-reduced-motion:reduce){.cw-resident-card{transition:none}}
