/* Ohole 27: reusable reference-led design tokens. */
:root,[data-theme="rose"]{--oh-red:#f5003d;--oh-red-dark:#b90028;--oh-pink:#fff1f5;--oh-ink:#20161b;--oh-muted:#756971;--oh-line:#f0e5e9;--oh-radius:24px;--oh-shadow:0 10px 32px #7000280b;--rose:var(--oh-red);--ink:var(--oh-ink);--card:#fff;--line:var(--oh-line);--muted:var(--oh-muted);--bg:#fff7f9;--reference-ink:var(--oh-ink);--reference-muted:var(--oh-muted);font-family:'DM Sans',system-ui,sans-serif}
*{box-sizing:border-box}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #a60037;outline-offset:3px}button[hidden],[hidden]{display:none!important}button,.attach-label,.chat-attach{min-height:48px}button svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.ohole-logo{display:inline-flex;align-items:center;gap:5px;font-weight:800;letter-spacing:-1.5px;color:var(--oh-red)}.ohole-logo svg{width:35px;height:35px;fill:currentColor;stroke:none}.ohole-symbol{width:36px;height:36px;display:block}.brand-mark{background:none!important}.v27-close{width:48px;min-width:48px;height:48px;display:grid;place-items:center;padding:0!important;border:0!important;border-radius:50%;background:#fff1f5;color:#4c2332;font-size:28px;line-height:1;z-index:5}.v27-close:hover{background:#ffdae5}.v27-icon{display:inline-grid;place-items:center;width:48px;height:48px}.v27-icon svg{width:24px;height:24px}.modal-close{width:48px;height:48px;min-height:48px;right:8px;top:8px;z-index:5}.modal{border-radius:26px;box-shadow:0 25px 80px #4c00182b;padding:32px 24px;max-height:90dvh;overflow:auto}.modal h2{font-family:inherit;font-weight:800;letter-spacing:-.7px}.pill-btn,.modal-cta,.live-primary,.post-compose-actions button[type=submit]{border-radius:999px;background:var(--oh-red);color:#fff;font-weight:700;min-height:48px}.settings-card,.social-post,.live-card{border:1px solid var(--oh-line)!important;border-radius:var(--oh-radius);box-shadow:var(--oh-shadow)}
body{background:var(--bg);color:var(--ink)}.app-shell{max-width:1440px;margin:auto}.sidebar{background:#fff}.sidebar .brand{font-size:33px;letter-spacing:-1.5px;color:var(--oh-red)}.sidebar .nav-item{border-radius:18px;min-height:52px;font-weight:600}.sidebar .nav-item.active{background:#fff0f4;color:var(--oh-red)}.sidebar .nav-item span{display:grid;place-items:center}.view .section-head h1,.topbar h1{font:800 clamp(28px,4vw,40px)/1.1 'DM Sans',system-ui;letter-spacing:-1px}.view .section-head em,.topbar em{font:inherit}.fyp-header{margin:0;padding:14px 0;min-height:72px}.fyp-brand{display:flex;align-items:center;gap:6px;color:var(--oh-red)}.fyp-brand h1{font-size:32px!important;letter-spacing:-1.5px!important}.fyp-brand>span{display:grid;place-items:center}.fyp-header-actions{gap:4px;display:flex}.fyp-header-actions button{width:48px;height:48px;border:0;background:#fff;color:#21171c;border-radius:50%}.fyp-tabs{display:flex;gap:0;border-bottom:1px solid var(--oh-line);margin:0 0 12px;padding:0}.fyp-tabs button{flex:1;min-width:0;min-height:48px;font-size:14px;white-space:nowrap;padding:10px 4px;color:#827680;background:transparent;border:0;border-bottom:3px solid transparent;font-weight:500}.fyp-tabs button.active{font-weight:800;border-bottom-color:var(--oh-red);color:#1e141a}.fyp-tabs button.active:after{display:none}.stories{gap:16px;padding:12px 2px 18px;overflow:auto;border:0;display:flex;align-items:flex-start}.v27-story{background:none;border:0;padding:0;min-width:66px;text-align:center;color:var(--ink)}.v27-story img,.v27-story>span{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;border:2px solid var(--oh-red);outline:3px solid #fff;box-shadow:0 0 0 4px #ffc9d7;object-fit:cover;background:#ffe3ec;color:#bb0038;font-size:22px;margin:4px}.v27-story small{display:block;margin-top:6px;font-size:11px;max-width:74px;text-overflow:ellipsis;overflow:hidden}.post-composer{border:1px solid var(--oh-line);border-radius:20px;background:#fff;padding:14px;margin-bottom:12px;box-shadow:none}.post-composer textarea{border:0;background:#f8f4f6;border-radius:24px;padding:12px 16px;font-size:14px;min-height:48px}.post-compose-actions{flex-wrap:wrap;gap:8px}.post-compose-actions .attach-label,.post-compose-actions .feeling-button{font-size:12px;display:inline-flex;align-items:center;border-radius:999px;background:#fff3f6;padding:10px 12px;border:0}.social-post{background:#fff;padding:18px;margin-bottom:16px;overflow:hidden}.social-post-head{display:flex;align-items:center;gap:10px}.social-avatar{width:43px;height:43px;border-radius:50%;object-fit:cover;border:1px solid #f4dde5}.social-post-head strong{font-size:14px;font-weight:800}.social-post-head time{font-size:11px;color:var(--oh-muted)}.social-follow{margin-left:auto;min-height:40px!important;padding:6px 12px;color:var(--oh-red);background:#fff1f5;border:0;border-radius:999px}.social-body{font-size:15px;line-height:1.5;margin:12px 0}.social-media{display:block;width:calc(100% + 36px);max-width:none;margin-left:-18px;border-radius:0;max-height:640px;object-fit:contain;background:#faf5f7}.social-post-actions{display:flex;gap:2px;justify-content:space-between;overflow:auto;border:0;margin-top:8px;padding:0}.social-post-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:44px;min-height:48px;font-size:12px;padding:5px;border:0;background:transparent;color:#43343d}.social-post-actions button:first-child{color:var(--oh-red)}.social-post-actions svg{width:22px;height:22px}.empty-state{padding:32px 16px;background:#fff;border:1px dashed #edcbd7;border-radius:20px;color:#776470;text-align:center;font-size:14px;line-height:1.6}.profile-card{border-radius:26px;overflow:hidden;background:linear-gradient(150deg,#ffccd9,#a9002c);box-shadow:0 14px 40px #92002b1c;min-height:380px;height:min(65dvh,680px)}.profile-card>img{object-fit:cover;object-position:center}.profile-shade{background:linear-gradient(0deg,#13040ce6,transparent 60%)}.profile-copy{left:22px;right:22px;bottom:24px}.profile-copy h2{font:800 30px/1.1 'DM Sans';color:#fff}.profile-copy blockquote{font:14px/1.4 'DM Sans';color:#fff}.decision-row{display:flex;align-items:center;justify-content:center;gap:18px;margin:18px auto 24px}.decision{width:64px;height:64px;min-height:64px;border-radius:50%;background:#fff;border:1px solid #f3dce4;box-shadow:0 5px 15px #6c00261a;color:#dc0038}.decision.like{width:72px;height:72px;background:var(--oh-red);color:#fff;border:0;font-size:32px}.decision.super{color:#ba7c00;background:#fff9e9}.decision.coin-gift{display:grid}.profile-card .tags span{background:#ffffff24;backdrop-filter:blur(8px);color:white}.conversation-head{background:#fff;border-bottom:1px solid var(--oh-line);padding:12px 8px;gap:8px}.conversation-head button{min-width:48px}.conversation-head .avatar{width:44px;height:44px;border-radius:50%;object-fit:cover}.conversation-head strong{font-size:15px}.conversation-head small{font-size:11px}.bubble{background:#fff;border:1px solid #f0e9ed;border-radius:18px;box-shadow:0 3px 10px #32132105;padding:12px 16px;font-size:14px;line-height:1.5}.bubble.mine,.mine .bubble,.message-wrap.mine .bubble{background:linear-gradient(125deg,#ff1555,#ec0038);color:#fff;border:0;border-radius:18px 18px 4px 18px}.chat-scroll{background:#fffafc}.composer{background:#fff;border-top:1px solid var(--oh-line);padding:10px 8px;gap:6px}.composer input{min-height:48px;background:#f6f2f4;border:0;border-radius:999px;min-width:0;font-size:14px}.composer>button{width:48px;min-width:48px;padding:0;border:0;border-radius:50%}.composer>button:last-child{color:#fff;background:var(--oh-red)}.composer .chat-attach{width:48px;min-width:48px;display:grid;place-items:center}.composer #gift-button{display:none}.message .avatar{border-radius:50%}.message{min-height:76px;border-bottom:1px solid #f6edf1}.message.active{background:#fff0f5}.reference-profile-hero{background:#fff;border-radius:24px;overflow:hidden;border:1px solid var(--oh-line)}.reference-cover{height:160px;background:radial-gradient(circle at 80% 30%,#ff688f,transparent 45%),linear-gradient(130deg,#a70027,#f70040);position:relative}.reference-cover:after{content:'♥';position:absolute;right:24px;top:0;color:#ffffff20;font-size:170px;line-height:1}.reference-cover img{display:none}.reference-profile-avatar{background:#ffe7ee!important;color:var(--oh-red);width:88px;height:88px;display:grid;place-items:center;font-size:32px;object-fit:cover;border:5px solid #fff;border-radius:50%}.reference-profile-intro{display:flex;gap:14px;align-items:end;margin:-46px 20px 0;position:relative}.reference-profile-intro h2{font-size:23px;font-weight:800}.reference-profile-intro h2 span{display:none!important}.reference-profile-hero>p{margin:14px 20px;font-size:14px}.reference-profile-stats{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;padding:20px}.reference-profile-stats b{display:block;font-size:22px}.reference-edit-profile{min-height:48px;border-radius:999px;margin:0 20px;width:calc(100% - 40px);border:1px solid #ebd6de;background:#fff}.reference-media-preview{height:auto;min-height:0;display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.reference-media-preview img,.reference-media-preview video{width:100%;aspect-ratio:1;object-fit:cover}.reference-media-preview span{background:none!important}.settings-card{background:#fff;padding:22px;margin-bottom:12px}.setting-row{min-height:64px}.invite-card{background:linear-gradient(120deg,#fff,#fff0f5)!important;border:1px solid #ffc9d8!important}.v27-gift-tabs{display:flex;gap:7px;overflow:auto;margin:16px 0}.v27-gift-tabs button{border:0;border-radius:999px;background:#f3f0f2;color:#625761;padding:8px 14px;min-height:42px;font-size:13px}.v27-gift-tabs button.active{background:var(--oh-red);color:#fff}.wallet-gifts,#coin-gift-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.wallet-gift{background:#fff;border:1px solid #f4e6ec;border-radius:20px;display:flex;flex-direction:column;align-items:center;padding:12px 5px;min-height:145px;color:#21151d;transition:transform .15s}.wallet-gift:hover{border-color:var(--oh-red);transform:translateY(-2px)}.wallet-gift>span{font-size:44px;height:80px;display:grid;place-items:center;width:100%}.wallet-gift strong{font-size:13px;margin:5px 0}.wallet-gift small{font-size:12px;color:#b30035}.v27-gift-art{width:90px!important;height:90px!important;background-image:url('assets/gifts-v27.png');background-size:300% 200%;background-repeat:no-repeat;font-size:0!important}.v27-gift-art[data-art="rose"]{background-position:0 0}.v27-gift-art[data-art="heart"]{background-position:50% 0}.v27-gift-art[data-art="bouquet"]{background-position:100% 0}.v27-gift-art[data-art="castle"]{background-position:0 100%}.v27-gift-art[data-art="teddy"]{background-position:50% 100%}.v27-gift-art[data-art="diamond"]{background-position:100% 100%}.coin-gift-modal{max-width:440px}.coin-gift-modal>h2{font-size:23px}.v27-match{border:0;border-radius:30px;width:min(92vw,440px);color:#fff;background:radial-gradient(ellipse at 50% 20%,#ff819c80,transparent 40%),linear-gradient(165deg,#f3003d,#790021 65%,#20000d);padding:58px 26px 32px;text-align:center;box-shadow:0 24px 100px #78002655}.v27-match::backdrop{background:#280014b0}.v27-match .v27-close{position:absolute;right:10px;top:10px;background:#ffffff15;color:#fff}.v27-match h2{font-size:32px;letter-spacing:-1px;margin:14px 0}.v27-match .v27-pair{display:flex;justify-content:center;align-items:center;margin:26px 0;position:relative}.v27-pair img,.v27-pair>span{width:115px;height:115px;border:4px solid #fff;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:#ffabc4;color:#a90033;font-size:40px}.v27-pair>svg{width:62px;height:62px;margin:0 -8px;z-index:1;filter:drop-shadow(0 8px 18px #59002388);fill:#fff}.v27-match .v27-send,.v27-match .v27-keep{width:100%;border-radius:999px;padding:14px;margin-top:12px;min-height:50px;border:0;background:var(--oh-red);color:#fff;font-weight:700}.v27-match .v27-keep{background:transparent;border:1px solid #ffffff80}.v27-match .v27-hearts{font-size:65px;color:#fff;text-shadow:0 5px 0 #ed003c,0 10px 30px #ffb0c6}.notification-panel{background:#fff;border:1px solid #f2dce5;box-shadow:0 20px 80px #65002429;z-index:65;overflow:auto}.notification-panel>header{position:sticky;top:0;background:#fff;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px;z-index:2;border-bottom:1px solid var(--oh-line)}.notification-panel>header strong{flex:1}.notification-panel>header button{border:0;background:#fff1f5;border-radius:999px;padding:8px 12px;font-size:12px}.notification-panel .v27-close{font-size:26px}.notification-item{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--oh-line);padding:10px 12px;background:#fff}.notification-item.unread{background:#fff5f8}.v27-notification-open{flex:1;text-align:left;border:0;background:transparent;padding:10px 2px;color:#3c2733;font-size:14px;line-height:1.45}.notification-item .v27-close{flex:none}.v27-toast-wrap{position:fixed;bottom:calc(92px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(92vw,460px);z-index:300;pointer-events:none}.v27-toast-wrap #toast{position:static!important;inset:auto!important;transform:none!important;margin:0!important;width:100%;padding:18px 58px 18px 20px!important;border-radius:18px;background:#2c1220;color:#fff;pointer-events:auto;white-space:normal}.v27-toast-wrap>.v27-close{position:absolute;right:3px;top:3px;color:#fff;background:transparent;pointer-events:auto}.v27-toast-wrap:not(:has(#toast.show)){display:none}.live-room header button{min-width:48px;min-height:48px}.live-badge{background:var(--oh-red);font-weight:800;font-size:12px;padding:6px 12px}.live-room{background:#17030c}.live-comment{border-radius:16px;background:#16071080}.live-room header .avatar{border:2px solid #fff}.live-room .v27-close{background:#0004;color:white}.v27-network{padding:12px 16px;border-radius:14px;background:#fff0d5;color:#6b4300;font-size:13px}.auth-gate{background:radial-gradient(ellipse at 80% 18%,#ff729b 0,transparent 35%),radial-gradient(ellipse at 5% 60%,#f0003c 0,transparent 55%),linear-gradient(150deg,#f9003e,#a2002a 70%,#59001d)!important}.auth-gate:before{display:block!important;content:'♥';position:absolute;right:-15%;top:13%;font:900 70vmin/1 system-ui;color:#ffffff13;transform:rotate(-15deg)}.auth-brand{color:#fff}.auth-brand span{background:#fff!important;color:var(--oh-red)}.auth-brand strong{font:800 42px/1 'DM Sans';letter-spacing:-2px}.auth-welcome>p{font:800 clamp(32px,7vw,48px)/1.12 'DM Sans';letter-spacing:-1.2px}.auth-welcome .welcome-copy{display:block!important;position:static!important;margin-bottom:16px;color:#ffdce7;font-size:14px}.auth-welcome .welcome-copy strong,.auth-welcome .welcome-copy span{display:block}.auth-card:not(.auth-welcome){background:#fff;border:0;box-shadow:0 25px 70px #6c002733}.welcome-actions button{min-height:54px;border-radius:999px;font-weight:800}.welcome-actions button:first-child{background:#fff;color:#d20038}.welcome-actions button:last-child{background:#ffffff14;border:1px solid #ffffff8a;color:#fff}
@media(max-width:700px){body,.app-shell{background:#fff}.app-shell{width:100%;max-width:600px;margin:auto}.view{padding-bottom:calc(90px + env(safe-area-inset-bottom))!important}main{padding:0!important}.sidebar{position:fixed;inset:auto 0 0!important;width:100%!important;height:auto!important;max-width:600px!important;margin:auto;background:#fff!important;border-top:1px solid #f0e4e9!important;padding:0!important;z-index:40;box-shadow:0 -4px 24px #3a001505}.sidebar>nav{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:0!important;padding:5px 8px calc(7px + env(safe-area-inset-bottom))!important;min-height:68px!important;position:static!important;transform:none!important;border:0!important;background:#fff!important;border-radius:0!important;box-shadow:none!important}.sidebar .nav-item{display:none!important}.sidebar .nav-item[data-view="feed"],.sidebar .nav-item[data-view="discover"],.sidebar .nav-item[data-view="matches"],.sidebar .nav-item[data-view="safety"]{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:3px!important;padding:5px!important;min-width:0!important;min-height:54px!important;border-radius:12px!important;background:none!important;font-size:10px!important;color:#8c8690!important}.sidebar .nav-item[data-view="feed"]{order:1}.sidebar .nav-item[data-view="discover"]{order:2}.sidebar .nav-item[data-view="matches"]{order:3}.sidebar .nav-item[data-view="safety"]{order:4}.sidebar .nav-item.active{color:var(--oh-red)!important}.sidebar .nav-item>span{height:25px!important;font-size:24px!important}.sidebar .nav-item b{position:absolute;top:0;right:24%;font-size:8px!important;background:var(--oh-red);color:#fff}.sidebar .mobile-create{display:none!important}.fyp-header{padding:10px 16px!important;min-height:68px}.fyp-tabs{padding:0 12px!important;margin-bottom:0!important}.fyp-brand h1{font-size:29px!important}.social-layout{display:block!important}.post-composer{margin:10px 12px;border-radius:20px;padding:12px}.stories{padding:12px 16px 18px;margin:0;gap:12px}.social-post{border:0!important;border-bottom:8px solid #faf1f5!important;border-radius:0!important;padding:15px 16px!important;margin:0!important;box-shadow:none!important}.social-media{width:calc(100% + 32px);margin-left:-16px;max-height:70dvh}.social-post-head strong{font-size:14px}.social-body{font-size:14px}.social-post-actions button{font-size:11px;min-height:48px}.social-follow{min-height:40px}.notification-panel{position:fixed;inset:0 0 calc(70px + env(safe-area-inset-bottom))!important;border-radius:0!important;max-width:600px;margin:auto}.notification-panel>header{padding-top:max(10px,env(safe-area-inset-top))}.notification-item{padding:10px}.profile-card{min-height:330px!important;height:calc(100dvh - 270px)!important;max-height:650px;border-radius:24px!important}.decision-row{margin-top:16px}.decision{width:60px!important;height:60px!important}.decision.like{width:68px!important;height:68px!important}.topbar{padding:16px 0}.topbar h1{font-size:28px!important}.conversation.mobile-open{inset:0 0 calc(70px + env(safe-area-inset-bottom))!important;padding:0!important;background:#fff}.conversation-head{padding:10px 8px}.conversation-head .header-call span{display:none}.conversation-head #relationship-badge{max-width:120px;min-height:24px;font-size:10px;padding:3px}.conversation-head #send-gift-button{display:none}.composer #coin-chat-gift{width:40px;min-width:40px}.composer .chat-attach{width:38px;min-width:38px}.composer #message-input{font-size:13px}.reference-profile-hero{border:0;border-radius:0}.reference-cover{height:155px}.reference-profile-meta{font-size:12px!important}.reference-profile-stats{padding:20px}.reference-profile-tabs button{min-height:48px}.safety-grid{padding:12px}.settings-card{padding:20px;border-radius:24px}.auth-gate{max-width:none!important}.auth-welcome{bottom:max(36px,env(safe-area-inset-bottom) + 24px)!important;left:26px!important;right:26px!important}.auth-brand{top:50px!important;left:26px!important}.auth-brand small{display:none}.live-room>video{object-fit:contain!important}.live-room header{padding:12px;gap:6px}.live-chat-panel{bottom:max(18px,env(safe-area-inset-bottom));width:calc(100% - 82px)}.v27-gift-tabs{gap:6px}.coin-gift-modal{padding:28px 18px}.wallet-gift{min-height:135px}.wallet-gift .v27-gift-art{width:80px!important;height:80px!important}}
@media(min-width:701px){.app-shell{display:grid;grid-template-columns:230px minmax(0,1fr)}main{min-width:0;padding:24px 32px}.sidebar{position:sticky;top:0;height:100dvh;padding:26px 18px}.social-layout{grid-template-columns:minmax(0,680px)}.fyp-header,.fyp-tabs,.social-layout,.stories{max-width:720px}.reference-profile-hero{max-width:800px}.notification-panel{position:fixed;top:24px;right:24px;width:420px;max-height:85dvh;border-radius:24px}.profile-card{height:620px}.conversation{border-radius:24px;overflow:hidden}.auth-welcome{padding:36px!important}.v27-toast-wrap{bottom:24px}}
@media(max-width:360px){.fyp-tabs button{font-size:12px}.post-compose-actions .feeling-button{display:none}.social-post-actions button{padding:3px}.conversation-head #video-call-button{display:none}.v27-match{padding-inline:18px}.v27-pair img,.v27-pair>span{width:95px;height:95px}.wallet-gift strong{font-size:12px}.wallet-gift .v27-gift-art{width:68px!important;height:68px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Guided onboarding and compact Profile, requested in the Version 27 extension. */
.auth-gate{background:#fff!important;color:#23181f}.auth-gate:before{display:none!important}.auth-brand{color:#f5003d!important}.auth-brand>span{background:#f5003d!important;color:#fff!important}.auth-brand small{color:#756971}.auth-welcome{color:#251720!important}.auth-welcome>p{font-size:38px!important;color:#23181f}.auth-welcome .welcome-copy{color:#7d6370!important;text-shadow:none!important}.welcome-actions button:first-child{background:#f5003d!important;color:#fff!important}.welcome-actions button:last-child{background:#fff!important;color:#d00035!important;border:1px solid #f0b1c2!important}.auth-card:not(.auth-welcome){box-shadow:none;border-radius:24px;background:#fff}.auth-card:after{display:none!important}.onboarding-progress{font-size:13px;color:#bd0032;font-weight:700}.onboarding-step{display:grid;gap:16px;margin:0}.onboarding-step p{font-size:13px;color:#77626d}.onboarding-step label{display:grid;gap:6px;font-weight:600;font-size:14px}.onboarding-step input,.onboarding-step select{width:100%;border:1px solid #e8dce1;border-radius:15px;padding:13px;background:#fff;min-height:48px}.onboarding-step input[type=checkbox]{width:22px;min-height:22px;accent-color:#f5003d}.onboarding-controls{display:flex;gap:10px;margin-top:20px}.onboarding-controls button{flex:1;min-height:50px;border-radius:999px;border:0;padding:12px;background:#f5003d;color:#fff;font-weight:700}.onboarding-controls button:first-child{background:#fff1f5;color:#b40034}.onboarding-photo-pick{padding:15px;border-radius:20px;background:#fff1f5}.onboarding-photo-pick input{background:#fff}#onboarding-photo-preview{width:min(100%,260px);height:auto;border-radius:50%;margin:auto}#verification-panel button{display:block;width:100%;border:0;border-radius:999px;background:#f5003d;color:#fff;padding:14px;margin-top:12px;min-height:48px}#verification-panel button:last-child{background:#fff0f5;color:#b60035}#verification-status{color:#a90032;font-size:14px}.v27-profile-menu{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px 16px}.v27-profile-menu button{min-height:70px;border:1px solid #f0d8e2;border-radius:20px;background:#fff;color:#4d1a2d;font-weight:700}.v27-profile-menu button:nth-child(2){color:#fff;border:0;background:linear-gradient(135deg,#ff2158,#d20035)}#safety-view:not(.settings-open) .safety-grid{display:none}#safety-view.settings-open .reference-profile-hero,#safety-view.settings-open .v27-profile-menu{display:none}#safety-view .reference-profile-tabs,#safety-view .reference-media-preview{display:none}.v27-settings-back{background:#fff0f5;color:#b90033;border:0;border-radius:999px;padding:12px 20px;grid-column:1/-1;text-align:left}.competition-banner{display:flex;align-items:center;gap:16px;border-radius:26px;padding:22px;background:linear-gradient(135deg,#ff1758,#b90030);color:#fff;margin:16px 0}.competition-banner>span{font-size:54px}.competition-banner p{font-size:12px;line-height:1.5;margin-bottom:0}.competition-actions{display:flex;gap:8px;flex-wrap:wrap}.competition-actions button,.competition-card button,#competition-more{background:#f5003d;color:white;border:0;border-radius:999px;padding:12px 18px;min-height:48px}.competition-actions button:not(:first-child){background:#fff0f5;color:#b80034}.competition-notification-choice{display:flex;align-items:center;gap:10px;margin:18px 0;font-size:14px}#competition-view details{background:#fff6f9;padding:16px;border-radius:16px;font-size:13px;line-height:1.6}#competition-view summary{cursor:pointer;min-height:32px;font-weight:700}#competition-view h2{font-size:21px;margin-top:28px}.competition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.competition-card{padding:12px;background:#fff;border:1px solid #f1dfe7;border-radius:22px;text-align:center}.competition-card>img,.competition-initial{width:100%;aspect-ratio:1;object-fit:cover;border-radius:16px;background:linear-gradient(140deg,#ffecf2,#ffc0d1);color:#cc0038;font-size:60px;display:grid;place-items:center}.competition-card h3{font-size:15px;margin:12px 0 6px}.competition-card p{font-size:12px;color:#897580}.competition-card button{width:100%;font-size:13px}#competition-history>p{padding:14px;background:#fff5f8;border-radius:16px;font-size:13px}.competition-grid>.empty-state{grid-column:1/-1}#competition-status{font-size:14px;line-height:1.5;color:#755263}#competition-view{padding:16px}#competition-view>.section-head{display:flex;align-items:center;gap:14px}#competition-view .section-head h1{font-size:30px}.auth-welcome small{color:#907581!important}@media(min-width:701px){.competition-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.v27-profile-menu{max-width:800px}.auth-gate{display:grid;place-items:center}.auth-brand{color:#f5003d}.auth-card{max-width:440px}.auth-welcome{background:#fff}.auth-welcome>p{color:#20141b}}@media(max-width:700px){.auth-card:not(.auth-welcome){position:absolute;top:115px;bottom:16px!important;left:20px!important;right:20px!important;padding:16px 0!important;max-height:calc(100dvh - 135px)!important;overflow-y:auto}.auth-brand{top:36px!important}.auth-welcome{bottom:15vh!important}.auth-welcome>p{font-size:36px!important}.onboarding-step{gap:14px}.reference-profile-hero{padding-bottom:20px}.reference-profile-hero .reference-cover{height:100px}.reference-profile-hero .reference-profile-intro{margin-top:-40px}.reference-profile-hero .reference-profile-avatar{width:78px;height:78px}.reference-profile-hero #reference-profile-bio{display:none}.reference-profile-stats{padding:14px}.v27-profile-menu{padding-top:8px}}

/* Small-screen form containment verified at 390px. */
.onboarding-step{min-width:0}.onboarding-step input,.onboarding-step select{min-width:0;max-width:100%}@media(max-width:700px){.auth-card:not(.auth-welcome){width:calc(100% - 40px)!important;max-width:calc(100% - 40px)!important}.auth-gate{overflow-x:hidden}.onboarding-controls{width:100%}}

/* Version 31 shared action tokens and five-destination navigation. */
:root{--button-height:48px;--button-radius:16px;--button-gap:8px;--button-focus:#640020}
button,input[type=submit]{font-family:inherit;font-weight:700;touch-action:manipulation;cursor:pointer;transition:background .15s,opacity .15s,transform .15s}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--button-focus);outline-offset:3px}
button:disabled{opacity:.48;cursor:not-allowed}button:active:not(:disabled){transform:translateY(1px)}
.oh-button,.auth-form button[type=submit],.settings-card button,.competition-actions button,.competition-card button,.post-compose-actions button[type=submit]{min-height:var(--button-height);border-radius:var(--button-radius);padding:12px 18px;display:inline-flex;gap:var(--button-gap);align-items:center;justify-content:center;border:1px solid #efc6d3}
.oh-button-primary,.auth-form button[type=submit],.settings-card button[type=submit],.post-compose-actions button[type=submit]{background:#f5003d;color:#fff;border-color:#f5003d}
.settings-card .danger,#delete-account{background:#fff1f2;color:#a0142d;border:1px solid #b91c3c}
.auth-brand>span svg{width:46px;height:46px;fill:#f5003d}.auth-brand>span{background:transparent!important}
#home-create-post{margin:0 0 14px;width:100%}.create-grid button{min-height:70px;border-radius:16px}.create-grid{gap:10px}
#notifications-view .notification-panel{display:block;position:static!important;inset:auto!important;max-height:none!important;width:100%;box-shadow:none;border:0;border-radius:0!important}
#notifications-view .notification-panel[hidden]{display:none}#notifications-view>h1{padding:16px;margin:0;font-size:26px}
@media(max-width:700px){.sidebar>nav{grid-template-columns:repeat(5,minmax(0,1fr))!important;padding-inline:2px!important}.sidebar .nav-item[data-view=notifications]{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:54px;min-width:0;padding:5px 1px!important;background:none;font-size:10px;color:#8c8690;order:4}.sidebar .nav-item[data-view=safety]{order:5}.sidebar .nav-item[data-view=notifications] span{height:25px}.sidebar .nav-item[data-view=notifications] svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8}.sidebar .nav-item{font-size:9px!important}.create-sheet-card{max-height:80dvh;overflow:auto}#notifications-view{padding-bottom:90px!important}}
/* Ohole Version 32: four-tab mobile navigation */
@media (max-width:700px) {
  .sidebar > nav {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }
  .sidebar .nav-item {
    display: none !important;
  }
  .sidebar .nav-item[data-view="feed"],
  .sidebar .nav-item[data-view="discover"],
  .sidebar .nav-item[data-view="matches"],
  .sidebar .nav-item[data-view="safety"] {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    width: 100% !important;
    padding: 5px 2px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
  }
  .sidebar .nav-item[data-view="feed"] { order: 1; grid-column: 1; grid-row: 1; }
  .sidebar .nav-item[data-view="discover"] { order: 2; grid-column: 2; grid-row: 1; }
  .sidebar .nav-item[data-view="matches"] { order: 3; grid-column: 3; grid-row: 1; }
  .sidebar .nav-item[data-view="safety"] { order: 4; grid-column: 4; grid-row: 1; }
}
/* Version 32: prevent bottom navigation horizontal overflow */
@media (max-width: 700px) {
  .sidebar {
    overflow-x: hidden !important;
  }
  .sidebar > nav {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    min-width: 0 !important;
    max-width: 100% !important;
    justify-content: stretch !important;
    position: relative !important;
  }
  .sidebar .mobile-create {
    display: none !important;
  }
}

/* Version 32: corrected four-tab navigation */
@media (max-width:700px) {
  .sidebar { left:0 !important; right:0 !important; transform:none !important; }
  .sidebar .nav-item[data-view='notifications'] { display:none !important; }
}


/* Ohole V32 — Three circular media buttons */
.post-compose-actions .ohole-media-buttons {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 8px;
  flex-shrink: 0;
}

.post-compose-actions .ohole-media-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  min-width: 40px;
  padding: 0;
  border: 1px solid rgba(225, 0, 65, 0.18);
  border-radius: 50%;
  background: #e80046;
  color: #ffffff;
  font-size: 19px;
  line-height: 1;
  cursor: pointer;
  transition: transform 0.15s ease, background 0.15s ease;
}

.post-compose-actions .ohole-media-btn[data-media-action="gallery"] {
  background: #f3f4f6;
  color: #222222;
  border-color: #d9dce2;
}

.post-compose-actions .ohole-media-btn:active {
  transform: scale(0.94);
}

.post-compose-actions .ohole-media-btn:focus-visible {
  outline: 3px solid #222222;
  outline-offset: 3px;
}

@media (max-width: 700px) {
  .post-compose-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
  }

  .post-compose-actions .ohole-media-btn {
    width: 38px;
    height: 38px;
    min-width: 38px;
  }
}

/* Ohole V32 — Reference-matched media controls */
.post-compose-actions .ohole-media-buttons {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 30px;
  width: 100%;
  margin: 8px 0;
}

.post-compose-actions .ohole-media-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 50px;
  width: 50px;
  height: 50px;
  min-width: 50px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #f00046;
  color: white;
  font-size: 21px;
  overflow: visible;
}

.post-compose-actions .ohole-media-btn[data-media-action="gallery"] {
  background: #f3f4f6;
  color: #222222;
  border: 0;
}

.post-compose-actions .ohole-media-btn::after {
  position: absolute;
  top: 57px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 14px;
  font-weight: 400;
  color: #333333;
  white-space: nowrap;
}

.post-compose-actions .ohole-media-btn[data-media-action="photo"]::after {
  content: "Photo";
}

.post-compose-actions .ohole-media-btn[data-media-action="video"]::after {
  content: "Video";
}

.post-compose-actions .ohole-media-btn[data-media-action="gallery"]::after {
  content: "Gallery";
}

.post-compose-actions .ohole-media-buttons {
  padding-bottom: 27px;
}


/* Ohole V32 — Unified primary action design */
:root {
  --ohole-primary: #f5003d;
  --ohole-primary-hover: #dc0037;
  --ohole-primary-shadow: 0 3px 9px rgba(245,0,61,.18);
}

:is(
  #home-create-post,
  .oh-button-primary,
  .auth-form button[type="submit"],
  .post-compose-actions button[type="submit"],
  .post-compose-actions .ohole-media-btn[data-media-action="photo"],
  .post-compose-actions .ohole-media-btn[data-media-action="video"]
) {
  background: var(--ohole-primary);
  background-image: none;
  color: #fff;
  border: 1px solid var(--ohole-primary);
  box-shadow: var(--ohole-primary-shadow);
  font-family: inherit;
  font-weight: 700;
  transition: background .15s ease, box-shadow .15s ease, transform .15s ease;
}

:is(
  #home-create-post,
  .oh-button-primary,
  .auth-form button[type="submit"],
  .post-compose-actions button[type="submit"],
  .post-compose-actions .ohole-media-btn[data-media-action="photo"],
  .post-compose-actions .ohole-media-btn[data-media-action="video"]
):active:not(:disabled) {
  background: var(--ohole-primary-hover);
  transform: scale(.97);
}

.post-compose-actions .ohole-media-btn[data-media-action="gallery"] {
  background: #f3f4f6;
  color: #222;
  border: 1px solid #d9dce2;
  box-shadow: 0 3px 9px rgba(0,0,0,.06);
}

/* Preserve circular shapes and accessible focus indicators */
.post-compose-actions .ohole-media-btn {
  border-radius: 50%;
}


/* Ohole V32 — Correct Create Post layout and matching avatar */
.post-composer #home-create-post {
  display: flex !important;
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 46px;
  height: auto !important;
  margin: 0 0 12px !important;
  padding: 12px 18px !important;
  border-radius: 16px !important;
  background: #f5003d !important;
  color: #ffffff !important;
  border: 1px solid #f5003d !important;
  box-shadow: 0 3px 9px rgba(245,0,61,.18) !important;
  align-items: center;
  justify-content: center;
  text-align: center;
  white-space: nowrap;
}

.post-composer .post-avatar {
  background: #f5003d !important;
  color: #ffffff !important;
  border: 1px solid #f5003d !important;
  box-shadow: 0 3px 9px rgba(245,0,61,.18) !important;
  border-radius: 50% !important;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}


/* Ohole V32 — Shared Groups and Live UI */
:root {
  --ohole-action-red: #f5003d;
  --ohole-action-shadow: 0 3px 9px rgba(245,0,61,.18);
  --ohole-neutral-bg: #f3f4f6;
}

/* Primary action buttons */
:is(
  #group-video-call,
  #go-live-button,
  #group-composer button[type="submit"],
  #group-composer button:not([type])
) {
  background: var(--ohole-action-red);
  color: #fff;
  border: 1px solid var(--ohole-action-red);
  box-shadow: var(--ohole-action-shadow);
  font-family: inherit;
  font-weight: 700;
  transition: background .15s ease, transform .15s ease;
}

/* Group message send button */
#group-composer > button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  min-width: 44px;
  padding: 0;
  border-radius: 50%;
}

/* Search and secondary controls */
:is(#group-search-button,#wallet-refresh) {
  background: var(--ohole-neutral-bg);
  color: #222;
  border: 1px solid #d9dce2;
  box-shadow: 0 2px 6px rgba(0,0,0,.05);
}

#group-search-button {
  border-radius: 50%;
}

/* Group filter tabs */
.reference-group-tabs button {
  font-family: inherit;
  font-weight: 600;
  transition: color .15s ease, background .15s ease;
}

.reference-group-tabs button.active {
  color: var(--ohole-action-red);
  border-color: var(--ohole-action-red);
}

/* Consistent accessibility */
:is(
  #group-video-call,
  #go-live-button,
  #group-search-button,
  #wallet-refresh,
  .reference-group-tabs button
):focus-visible {
  outline: 3px solid var(--ohole-action-red);
  outline-offset: 3px;
}


/* Ohole V32 — Unified Discover buttons */
#discover-view {
  --discover-red: #f5003d;
  --discover-shadow: 0 3px 9px rgba(245,0,61,.18);
}

/* Consistent circular action buttons */
#discover-view .decision-row .decision {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  min-width: 56px;
  border-radius: 50%;
  border: 1px solid transparent;
  font-family: inherit;
  font-size: 24px;
  font-weight: 700;
  box-shadow: 0 3px 9px rgba(0,0,0,.10);
  transition: transform .15s ease, box-shadow .15s ease;
}

#discover-view .decision-row .decision.like {
  background: var(--discover-red);
  color: #fff;
  border-color: var(--discover-red);
  box-shadow: var(--discover-shadow);
}

#discover-view .decision-row .decision.pass {
  background: #f3f4f6;
  color: #555;
  border-color: #d9dce2;
}

#discover-view .decision-row .decision.super {
  background: #fff;
  color: var(--discover-red);
  border-color: var(--discover-red);
}

#discover-view .decision-row .decision.coin-gift {
  background: #fff;
  color: var(--discover-red);
  border-color: #f5a0b6;
}

/* Primary Discover actions */
#discover-view :is(
  .top-actions .pill-btn:not(.secondary),
  .reward-card button[data-reward]
) {
  background: var(--discover-red);
  color: #fff;
  border: 1px solid var(--discover-red);
  border-radius: 14px;
  box-shadow: var(--discover-shadow);
  font-family: inherit;
  font-weight: 700;
}

/* Secondary Discover actions */
#discover-view .top-actions .pill-btn.secondary {
  background: #f3f4f6;
  color: #222;
  border: 1px solid #d9dce2;
  border-radius: 14px;
  box-shadow: 0 2px 6px rgba(0,0,0,.05);
}

/* Interaction and accessibility */
#discover-view button:focus-visible {
  outline: 3px solid var(--discover-red);
  outline-offset: 3px;
}

#discover-view button:active {
  transform: scale(.96);
}

@media (max-width: 380px) {
  #discover-view .decision-row .decision {
    width: 48px;
    height: 48px;
    min-width: 48px;
    font-size: 21px;
  }
}


/* Ohole V32 — Dynamic Groups button styling */

/* Group cards */
#groups-view .group-card {
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,.05);
  transition: border-color .15s ease, box-shadow .15s ease;
}

#groups-view .group-card.active {
  border-color: #f5003d;
  background: #fff5f7;
  box-shadow: 0 3px 9px rgba(245,0,61,.12);
}

/* Join Group and rewarded access */
#groups-view #group-messages > button {
  background: #f5003d;
  color: #fff;
  border: 1px solid #f5003d;
  border-radius: 14px;
  padding: 12px 18px;
  min-height: 44px;
  font-family: inherit;
  font-weight: 700;
  box-shadow: 0 3px 9px rgba(245,0,61,.18);
}

/* Reply and Report */
#groups-view .group-message-actions button {
  background: #f3f4f6;
  color: #333;
  border: 1px solid #d9dce2;
  border-radius: 12px;
  padding: 8px 12px;
  font-family: inherit;
  font-weight: 600;
}

#groups-view .group-message-actions button:focus-visible,
#groups-view .group-card:focus-visible,
#groups-view #group-messages > button:focus-visible {
  outline: 3px solid #f5003d;
  outline-offset: 3px;
}

