body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-canvas)}
.app-shell{background:var(--color-surface);border-color:var(--color-border)}
.site-header{min-height:56px;padding:0 var(--space-5);border-color:var(--color-border);background:rgba(255,255,255,.94);backdrop-filter:blur(14px)}
.brand{font-size:20px;font-weight:750;letter-spacing:-.02em}.stage{font-size:9px;font-weight:600;color:var(--color-text-tertiary);opacity:.55}
.eyebrow{color:var(--color-brand);letter-spacing:.08em}

/* Recommend */
.recommend-page.guitto-recommend{min-height:calc(100dvh - 56px);padding:var(--space-5);background:var(--color-surface)}
.guitto-recommend .recommend-heading{display:flex;align-items:flex-end;justify-content:space-between;padding:var(--space-1) 0 var(--space-4)}
.guitto-recommend .recommend-heading h1{margin:0;font-size:26px;line-height:34px;letter-spacing:0}
.guitto-recommend .recommend-heading p{margin:0 0 4px;color:var(--color-text-tertiary);font-size:12px}
.discovery-card{position:relative;overflow:hidden;border-radius:var(--radius-xl);background:var(--color-surface-subtle);box-shadow:var(--shadow-card)}
.discovery-photo{display:block;position:relative;width:100%;height:466px;overflow:hidden;background:linear-gradient(145deg,#f3e5e9,#d8cdd1)}
.discovery-photo img{width:100%;height:100%;object-fit:cover}.discovery-photo:after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(transparent,rgba(20,16,18,.72))}
.discovery-overlay{position:absolute;z-index:1;left:var(--space-5);right:var(--space-5);bottom:var(--space-5);color:#fff}
.discovery-overlay h2{margin:0;font-size:26px;line-height:34px}.discovery-overlay p{margin:2px 0 0;color:rgba(255,255,255,.88);font-size:14px;line-height:22px}
.discovery-profile-link{position:absolute;z-index:2;inset:0;font-size:0}
.discovery-details{padding:var(--space-4) var(--space-4) var(--space-5)}
.likes-label{margin:0 0 var(--space-3);font-size:12px;font-weight:700;color:var(--color-text-secondary)}
.guitto-recommend .interest-pills{gap:var(--space-2)}.guitto-recommend .interest-pills span{padding:8px 12px;color:var(--color-brand);background:var(--color-brand-tint);font-size:12px}
.server-page:has(.guitto-server-recommend){padding:20px;background:var(--color-surface)}.server-page:has(.guitto-server-recommend)>.eyebrow{display:none}.server-page:has(.guitto-server-recommend)>h1{margin:4px 0 16px;font-size:26px;line-height:34px;letter-spacing:0}
.guitto-server-recommend{position:relative;margin:0;padding:0;overflow:hidden;border:0;border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.guitto-server-recommend .recommend-position{position:absolute;z-index:3;top:14px;right:14px;margin:0;padding:5px 9px;border-radius:var(--radius-full);color:#fff;background:rgba(20,16,18,.42);font-size:11px;backdrop-filter:blur(8px)}
.guitto-server-recommend .placeholder-photo{position:relative;height:466px;border-radius:0}.guitto-server-recommend .placeholder-photo:after{content:"";position:absolute;inset:auto 0 0;height:44%;background:linear-gradient(transparent,rgba(20,16,18,.72))}.photo-overlay{position:absolute;z-index:2;left:20px;bottom:20px;color:#fff}.photo-overlay h2{margin:0;font-size:26px;line-height:34px}.photo-overlay p{margin:2px 0 0;color:rgba(255,255,255,.88);font-size:14px}.photo-profile-link{position:absolute;z-index:3;inset:0;font-size:0}.server-recommend-content{padding:16px 16px 20px}
.discovery-actions{display:grid;grid-template-columns:52px 1fr;gap:var(--space-3);margin-top:var(--space-4)}
.discovery-actions button{height:52px;border-radius:var(--radius-lg);font-size:15px;font-weight:700}
.discovery-skip{border:var(--border-subtle);color:var(--color-text-secondary);background:#fff;font-size:0!important}.discovery-skip:before{content:"×";font-size:27px;font-weight:400}
.discovery-like{border:0;color:#fff;background:var(--color-brand);box-shadow:0 6px 16px rgba(217,63,106,.22)}
.discovery-like .heart-icon{margin-right:8px;vertical-align:-3px}

/* Profile detail */
.guitto-profile{background:var(--color-surface);min-height:100dvh}.guitto-profile .profile-title{height:60px;padding:0 var(--space-5);border-bottom:var(--border-subtle)}
.guitto-profile .profile-title h1{font-size:18px;line-height:26px}.guitto-profile .hero-photo{width:100%;height:auto;aspect-ratio:4/5;margin:0;border-radius:0;background:linear-gradient(145deg,#f3e5e9,#d8cdd1)}
.guitto-profile .hero-photo:after{content:"";position:absolute;inset:auto 0 0;height:20%;background:linear-gradient(transparent,rgba(20,16,18,.28))}
.guitto-profile .profile-content{padding:var(--space-6) var(--space-5) var(--space-16)}
.profile-identity{padding-bottom:var(--space-6);border-bottom:var(--border-subtle)}
.guitto-profile .profile-content h2{font-size:26px;line-height:34px;letter-spacing:0}.verified-mark{display:inline-flex;align-items:center;margin-left:6px;color:var(--color-success);font-size:13px;font-weight:700}
.guitto-profile .profile-content .meta,.guitto-profile .profile-content .distance{font-size:14px;line-height:22px}
.guitto-profile .profile-content section{margin-top:var(--space-8)}.guitto-profile .profile-content h3{margin-bottom:var(--space-4);font-size:18px;line-height:26px}
.specific-likes{padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface-subtle)}
.specific-likes .interest-pills span{padding:9px 13px;color:var(--color-brand);background:var(--color-brand-tint);font-size:13px}
.guitto-profile .bio{font-size:16px;line-height:26px}.guitto-profile .facts{border-top:0}.guitto-profile .facts div{padding:14px 0;border-color:var(--color-border);font-size:14px;line-height:22px}
.server-page:has(.guitto-server-profile){padding:0 0 48px}.server-page:has(.guitto-server-profile)>.eyebrow{display:none}.server-page:has(.guitto-server-profile)>h1{height:60px;display:flex;align-items:center;margin:0;padding:0 20px;border-bottom:var(--border-subtle);font-size:18px;letter-spacing:0}.guitto-server-profile>.placeholder-photo{height:430px;border-radius:0}.guitto-server-profile>.profile-identity,.guitto-server-profile>section,.guitto-server-profile>.server-actions{margin-left:20px;margin-right:20px}.guitto-server-profile>.profile-identity{padding:24px 0;border-bottom:var(--border-subtle)}.guitto-server-profile>.profile-identity h2{margin:0;font-size:26px;line-height:34px}.guitto-server-profile>.profile-identity p{margin:4px 0 0;color:var(--color-text-secondary);font-size:14px}.guitto-server-profile>section{margin-top:32px}.guitto-server-profile>section h3{font-size:18px;line-height:26px}.guitto-server-profile .specific-likes{padding:20px}.guitto-server-profile .bio{font-size:16px;line-height:26px}

/* Match */
.match-celebration.guitto-match{min-height:100dvh;padding:72px var(--space-5) var(--space-8);background:radial-gradient(circle at 50% 24%,#fff2f5 0,#fff 48%,#fbf8f8 100%)}
.guitto-match .match-copy h1{color:var(--color-text);font-size:30px;line-height:40px;letter-spacing:0}.guitto-match .match-copy p{font-size:14px;line-height:22px}
.guitto-match .match-kicker{display:block;margin-bottom:var(--space-3);color:var(--color-brand);font-size:12px;font-weight:700;letter-spacing:.12em}
.guitto-match .matched-people{height:248px;grid-template-columns:132px 24px 132px;gap:0}.guitto-match .matched-people img,.guitto-match .match-avatar{width:132px;height:164px;border-radius:66px;box-shadow:var(--shadow-float)}
.guitto-match .match-heart{display:grid;place-items:center;width:54px;height:54px;margin-inline:-15px;border-radius:50%;color:#fff;background:var(--color-brand);box-shadow:0 8px 22px rgba(217,63,106,.25);font-size:0}
.guitto-match .match-heart svg{width:28px;height:28px}.guitto-match .match-common{margin-top:var(--space-5);padding:var(--space-5);border-radius:var(--radius-lg);background:rgba(252,232,238,.72)}
.guitto-match .match-common h2{margin:0;font-size:12px;letter-spacing:.08em;color:var(--color-text-secondary)}
.guitto-match .match-common .interest-pills{margin-top:var(--space-3)}.guitto-match .match-common .interest-pills span{background:#fff;font-size:12px}
.guitto-match .match-talk{margin-top:var(--space-8);padding:16px;border-radius:var(--radius-lg);background:var(--color-brand);font-size:15px;box-shadow:0 6px 16px rgba(217,63,106,.2)}
@media(max-width:359px){.guitto-match .matched-people{grid-template-columns:116px 20px 116px}.guitto-match .matched-people img,.guitto-match .match-avatar{width:116px;height:148px}}

/* Profile Detail Visual Master v1 — scoped to other-user /profile/:id. */
.app-shell:has(.profile-detail-v1){width:min(100%,var(--guitto-shell-width));padding-bottom:82px;background:#fff}.app-shell:has(.profile-detail-v1)>.site-header,.app-shell:has(.profile-detail-v1)>.dev-panel{display:none}
.profile-detail-v1{min-height:100dvh;background:#fff}.profile-detail-header{height:58px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding:0 13px;background:#fff}.profile-detail-header h1{margin:0;overflow:hidden;text-align:center;font-size:17px;line-height:1.2;white-space:nowrap;text-overflow:ellipsis}.profile-detail-header a{display:grid;place-items:center;width:44px;height:44px;color:#252839;text-decoration:none}.profile-detail-header svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.profile-detail-header a:last-child{justify-self:end}.profile-detail-header a:last-child svg{width:23px;fill:currentColor;stroke:none}
.profile-gallery{padding:0 14px}.profile-main-photo{position:relative;width:100%;height:410px;overflow:hidden;border-radius:25px;background:#eee4e7}.profile-main-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}.profile-main-photo>span{position:absolute;top:14px;left:14px;padding:7px 11px;border-radius:999px;color:#fff;background:rgba(30,29,35,.56);font-size:12px;font-weight:700;backdrop-filter:blur(8px)}
.profile-thumbnails{display:flex;gap:7px;margin-top:8px}.profile-thumbnails button{width:64px;height:58px;flex:0 0 64px;padding:0;overflow:hidden;border:2px solid transparent;border-radius:11px;background:#eee;cursor:pointer}.profile-thumbnails button.active{border-color:#f43c6d}.profile-thumbnails img{display:block;width:100%;height:100%;object-fit:cover}
.profile-detail-content{padding:19px 17px 24px}.profile-detail-content section{margin:0}.profile-detail-identity h2{display:flex;align-items:baseline;gap:10px;margin:0 0 9px;color:#20222f}.profile-detail-identity h2 span{font-size:27px;line-height:1.25;letter-spacing:.01em}.profile-detail-identity h2 strong{font-size:17px;font-weight:600}.profile-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;color:#6d6d7b;font-size:12px;font-weight:600}.profile-status>span{display:flex;align-items:center;gap:5px}.profile-status svg{width:16px;height:16px;fill:none;stroke:#535566;stroke-width:1.8}.profile-status .online i{width:9px;height:9px;border-radius:50%;background:#4ce0a0;box-shadow:0 0 0 3px rgba(76,224,160,.14)}
.profile-intro{display:grid;grid-template-columns:22px 1fr;gap:5px;margin-top:17px!important;padding:14px 15px;border-radius:18px;background:linear-gradient(105deg,#fff0f5,#fff8fa)}.profile-intro>span{color:#f59bb4;font:700 31px/1 serif}.profile-intro p{display:-webkit-box;margin:0;overflow:hidden;color:#343442;font-size:13px;line-height:1.7;white-space:pre-line;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.profile-common,.profile-facts-section{margin-top:22px!important}.profile-detail-content h3{margin:0 0 11px;color:#242632;font-size:17px}.profile-detail-content h3 strong{margin-left:5px;color:#f43669}.profile-interest-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.interest-card{height:76px;display:flex;align-items:flex-end;overflow:hidden;padding:8px;border-radius:15px;background:linear-gradient(145deg,#eed8df,#c9a6b0)}.interest-card:nth-child(2){background:linear-gradient(145deg,#cce9f4,#8fc7df)}.interest-card:nth-child(3){background:linear-gradient(145deg,#d6d4e8,#8f89a8)}.interest-card span{max-width:100%;overflow:hidden;padding:5px 8px;border-radius:999px;color:#292b38;background:rgba(255,255,255,.92);font-size:10px;font-weight:750;white-space:nowrap;text-overflow:ellipsis}
.profile-facts-section{padding-top:18px;border-top:1px solid #f0edef}.profile-facts-section dl{display:grid;grid-template-columns:1fr 1fr;gap:0 21px;margin:0}.profile-facts-section dl>div{display:grid;grid-template-columns:58px 1fr;gap:5px;padding:7px 0;font-size:11px;line-height:1.45}.profile-facts-section dt{color:#8a8791}.profile-facts-section dd{margin:0;overflow-wrap:anywhere;color:#30313e;font-weight:600}
.profile-like-bar{position:fixed;z-index:5;right:0;bottom:0;left:0;width:min(100%,var(--guitto-shell-width));height:76px;margin:auto;padding:10px 18px max(10px,env(safe-area-inset-bottom));border-top:1px solid #f2edef;background:rgba(255,255,255,.96);backdrop-filter:blur(16px)}.profile-like-bar button{width:100%;height:52px;display:flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:26px;color:#fff;background:linear-gradient(100deg,#ff668d,#f33468);box-shadow:0 8px 22px rgba(243,52,104,.22);font-size:15px;font-weight:800;cursor:pointer}.profile-like-bar svg{width:22px;height:22px;fill:#fff;stroke:#fff;stroke-width:1.5}.profile-detail-v1>.reaction-notice{position:fixed;z-index:6;right:20px;bottom:84px;left:20px;margin:0;padding:10px;border-radius:12px;color:#f43669;background:#fff0f5;text-align:center;font-size:11px}
@media(max-width:380px){.profile-main-photo{height:392px}.profile-detail-content{padding-inline:15px}.profile-facts-section dl{gap:0 14px}.profile-facts-section dl>div{grid-template-columns:54px 1fr}}
.guitto-server-profile>.profile-identity h2:empty,.guitto-server-profile>.profile-identity p:empty{display:none}
