:root{font-family:Arial,Helvetica,sans-serif;color:#283f65;background:#dfeef8;font-synthesis:none}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0}
button,input{font:inherit}
button{cursor:pointer}
.site-shell{width:min(100%,480px);min-height:100dvh;margin:auto;background:#fff;box-shadow:0 0 40px #1a42611c}
.login-view{min-height:100dvh;background:#fff url("loginBg.png") bottom center/100% auto no-repeat}
.login-content{padding:calc(28px + env(safe-area-inset-top)) 20px 40px;min-height:100dvh}
.login-header{display:flex;justify-content:space-between;align-items:center}
.login-logo{width:176px;height:auto}
.language-badge{width:52px;height:42px;border:1px solid #dfdde1;border-radius:40px;background:#fff;display:grid;place-items:center;font-size:25px;box-shadow:0 1px 4px #00000012}
.login-intro{margin:64px 0 34px}
.login-intro h1{font-size:27px;line-height:1.2;letter-spacing:-.03em;color:#111;margin:0 0 12px;font-weight:700}
.login-intro p{color:#878787;margin:0;font-size:14px;line-height:1.5}
.login-form label{display:block;color:#677185;font-size:13px;font-weight:600;margin:0 0 8px}
.login-form input{display:block;width:100%;height:54px;border:1px solid #ced3dc;border-radius:13px;background:#fff;padding:0 16px;color:#283f65;outline:none;margin-bottom:20px}
.login-form input:focus,.send-form input:focus{border-color:#4e8cdd;box-shadow:0 0 0 3px #4e8cdd25}
.login-form input::placeholder{color:#aaa}
.password-wrap{position:relative}
.password-wrap input{padding-right:65px}
.password-wrap button{position:absolute;right:14px;top:14px;border:0;background:none;color:#4e8cdd;font-size:13px;font-weight:700}
.form-error{color:#c52c50;font-size:13px;margin:-5px 0 16px}
.gradient-button{border:0;background:linear-gradient(100deg,#86fedb,#5090dd);color:white;font-weight:700;border-radius:50px;box-shadow:0 6px 16px #4e8cdd3a}
.sign-in-button{height:54px;width:100%;margin-top:30px;font-size:18px}
.sign-in-button:disabled,.send-form button:disabled{opacity:.6;cursor:wait}
.app-view{height:100dvh;display:flex;flex-direction:column;background:#fff url("newBg.png") center/100% 100% no-repeat;overflow:hidden}
.screen{flex:1;min-height:0;overflow-y:auto;padding:calc(8px + env(safe-area-inset-top)) 15px 15px}
.screen-header{display:flex;align-items:center;justify-content:space-between;min-height:49px;margin-bottom:8px}
.screen-header h1{margin:0;font-size:23px;line-height:1.2;color:#283f65;font-weight:700}
.nearby-screen .screen-header h1{font-size:28px;color:#101010}
.round-icon{border:0;border-radius:50%;width:39px;height:39px;display:grid;place-items:center;background:#fff;box-shadow:0 2px 7px #00000015;color:#4e8cdd;font-size:27px}
.round-icon img{width:24px;height:24px;object-fit:contain}
.screen-status{padding:18px;margin:12px 0;text-align:center;background:#ffffffd9;border-radius:14px;color:#516277;line-height:1.4}
.explore-screen{display:flex;flex-direction:column;overflow:hidden}
.discovery-card{position:relative;flex:1;min-height:0;overflow:hidden;border-radius:20px;background:#dce9f4;touch-action:pan-y;user-select:none;box-shadow:0 8px 20px #20497124;transition:transform .23s ease,opacity .23s ease}
.discovery-card.dragging{transition:none}
.discovery-card.swipe-away-left{transform:translateX(-115%) rotate(-16deg);opacity:.1}
.discovery-card.swipe-away-right{transform:translateX(115%) rotate(16deg);opacity:.1}
.discovery-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.discovery-shade{position:absolute;inset:35% 0 0;background:linear-gradient(transparent 0%,#0007 45%,#000e 100%)}
.discovery-tools{position:absolute;inset:14px 14px auto;display:flex;justify-content:flex-end}
.overlay-button{width:40px;height:40px;border:0;border-radius:50%;background:#0008;color:white;font-size:25px;line-height:1}
.swipe-stamp{position:absolute;top:85px;left:25px;color:white;font-size:34px;font-weight:800;letter-spacing:.08em;text-shadow:0 2px 10px #0008;transform:rotate(-14deg)}
.swipe-stamp.like{color:#86fedb}.swipe-stamp.pass{color:#ff819b}
.discovery-details{position:absolute;bottom:5px;left:0;right:0;color:#fff;padding:0 15px}
.discovery-meta,.discovery-location{font-size:14px;font-weight:600;min-height:18px;margin:0 5px 5px;text-shadow:0 1px 2px #0007}
.online-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#9ce77d;margin:0 4px 0 2px}
.discovery-details h2{font-size:28px;line-height:1.1;margin:6px 5px;font-weight:700;text-shadow:0 1px 4px #0006;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.interest-list{display:flex;gap:6px;overflow:hidden;white-space:nowrap;margin:7px 5px}
.interest-list span{font-size:11px;padding:5px 9px;border:1px solid #ffffffac;border-radius:30px;background:#0004}
.swipe-actions{display:flex;align-items:center;justify-content:space-around;gap:8px;margin-top:2px}
.swipe-actions button{border:0;background:none;padding:0;display:grid;place-items:center;width:80px;height:83px}
.swipe-actions img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.swipe-actions button:first-child img{width:60px;height:60px}.swipe-actions button:last-child img{width:64px;height:64px}
.nearby-screen{padding-left:0;padding-right:0}
.nearby-screen .screen-header{padding:0 16px}
.nearby-section{margin:15px 0 24px}
.nearby-section h2{font-size:19px;color:#283f65;margin:0 16px 12px;font-weight:700}
.nearby-rail{display:flex;gap:14px;overflow-x:auto;padding:0 16px 12px;scrollbar-width:none}
.nearby-rail::-webkit-scrollbar{display:none}
.nearby-card{position:relative;flex:0 0 115px;height:140px;border:0;border-radius:16px;overflow:hidden;padding:0;background:#d7eaf5;box-shadow:0 2px 7px #0002;color:white;text-align:left}
.nearby-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nearby-card:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#fc1e7daa)}
.nearby-card strong{position:absolute;z-index:1;left:8px;bottom:9px;right:5px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nearby-card .nearby-online{position:absolute;z-index:1;left:7px;top:7px;background:#fff;color:#21313d;border-radius:15px;padding:3px 6px;font-size:9px;font-weight:700}
.nearby-online:before{content:"";display:inline-block;width:7px;height:7px;background:#17b961;border-radius:50%;margin-right:4px}
.requests-section{margin:12px 0 18px;padding:15px 14px 12px;border-radius:16px;background:#fffffff0;box-shadow:0 2px 9px #00000014}
.requests-section h2{margin:0 0 14px;font-size:19px;line-height:1.2;color:#283f65}
.request-list{display:flex;gap:13px;overflow-x:auto;padding:3px 3px 8px;scrollbar-width:thin}
.request-card{position:relative;flex:0 0 104px;min-width:0}
.request-tile{display:flex;flex-direction:column;align-items:center;gap:7px;width:104px;min-height:132px;padding:4px 4px 8px;border:0;border-radius:15px;background:linear-gradient(145deg,#e6e6fa,#add8e6,#e0ffff);color:#283f65;box-shadow:0 3px 8px #6fa9cf35}
.request-tile img{display:block;width:94px;height:96px;object-fit:cover;border:3px solid white;border-radius:12px;background:#e5eef6}
.request-tile strong{max-width:100%;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.request-dismiss{position:absolute;top:-5px;right:-5px;width:25px;height:25px;border:0;border-radius:50%;background:white;color:#6d7983;box-shadow:0 2px 7px #0003;font-size:22px;line-height:1}
.request-tile:focus-visible,.request-dismiss:focus-visible,.request-actions button:focus-visible{outline:3px solid #4e8cdd;outline-offset:2px}
.chat-list{margin:8px 0;border-radius:16px;background:#fffffff0;box-shadow:0 2px 9px #00000014;overflow:hidden}
.chat-row{display:flex;gap:12px;align-items:center;width:100%;text-align:left;border:0;border-bottom:1px solid #edf1f5;padding:13px 12px;background:#fff;color:#283f65}
.chat-row:last-child{border-bottom:0}
.chat-row img{width:53px;height:53px;border-radius:50%;object-fit:cover;background:#e6f1f9}
.chat-copy{display:flex;flex-direction:column;min-width:0;flex:1;gap:4px}
.chat-copy strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-copy small{font-size:13px;color:#8b94a0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-count{display:grid;place-items:center;min-width:21px;height:21px;border-radius:15px;background:#fc1e7d;color:white;font-size:11px}
.thread-page{height:100%;display:flex;flex-direction:column;margin:-8px -15px -15px;background:#f5f9fd}
.thread-header{height:70px;background:#fff;display:flex;gap:10px;align-items:center;padding:8px 14px;box-shadow:0 2px 6px #00000012}
.back-button{border:0;background:none;font-size:37px;color:#283f65;line-height:1;width:26px;padding:0}
.thread-avatar{width:44px;height:44px;object-fit:cover;border-radius:50%;background:#d9e7f0}
.thread-person{display:flex;flex-direction:column;gap:3px}.thread-person strong{font-size:16px}.thread-person span{color:#6d7983;font-size:12px}
.thread-status{padding:12px;color:#aa3152;text-align:center}
.thread-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:9px;padding:15px}
.message-bubble{max-width:80%;border-radius:16px;padding:10px 13px;background:#d0e4fa;color:#283f65;font-size:14px;line-height:1.4;overflow-wrap:anywhere;align-self:flex-start}
.message-bubble.mine{background:#4e8cdd;color:white;align-self:flex-end}
.message-bubble time{display:block;text-align:right;font-size:10px;opacity:.68;margin-top:5px}
.request-actions{display:flex;gap:10px;padding:12px;background:white;border-top:1px solid #edf1f5}
.request-actions button{flex:1;min-height:43px;border-radius:24px;font-weight:700}
.request-decline{border:1px solid #db7589;background:white;color:#b94765}
.request-accept{border:0;background:linear-gradient(100deg,#86fedb,#5090dd);color:white}
.request-actions button:disabled{opacity:.6;cursor:wait}
.send-form{display:flex;gap:8px;align-items:center;background:#fff;padding:9px 12px calc(9px + env(safe-area-inset-bottom));border-top:1px solid #edf1f5}
.send-form input{flex:1;min-width:0;border:1px solid #d3dbe4;border-radius:25px;height:43px;padding:0 15px;outline:none}
.send-form button{border:0;border-radius:50%;height:42px;width:42px;background:#4e8cdd;color:white;font-size:19px}
.profile-panel{background:#fffffff0;border-radius:18px;padding:28px 20px;text-align:center;margin-top:25px;box-shadow:0 2px 9px #00000014}
.profile-panel img{width:175px;max-width:100%}.profile-panel h2{font-size:20px;color:#283f65;margin:25px 0}.profile-panel button{border:1px solid #4e8cdd;border-radius:25px;background:white;color:#4e8cdd;padding:11px 30px;font-weight:700}
.bottom-nav{display:flex;align-items:center;justify-content:space-around;flex:none;height:calc(66px + env(safe-area-inset-bottom));padding:0 5px env(safe-area-inset-bottom);background:white;box-shadow:0 -3px 8px #00000018}
.bottom-nav button{border:0;background:none;color:#969da6;display:flex;flex:1;align-items:center;justify-content:center;flex-direction:column;gap:3px;font-size:10px;height:100%;font-weight:600}
.bottom-nav img{height:27px;width:27px;object-fit:contain;opacity:.5}
.bottom-nav button[aria-current="page"]{color:#4e8cdd}
.bottom-nav button[aria-current="page"] img{opacity:1;filter:brightness(0) saturate(100%) invert(53%) sepia(75%) saturate(500%) hue-rotate(177deg) brightness(96%)}
@media(max-height:670px){.login-intro{margin:35px 0 22px}.discovery-meta,.discovery-location{font-size:12px}.discovery-details h2{font-size:24px}.swipe-actions button{height:68px}.swipe-actions button:nth-child(2) img{width:66px;height:66px}}
@media(min-width:481px){.site-shell{border-left:1px solid #dce7ee;border-right:1px solid #dce7ee}}
