:root{--lime:#d4fa45;--ink:#171b16;--paper:#f6f7f0;--muted:#60685c;--line:#d9ddd1;--surface:#fff;--bad:#a12e28}*{box-sizing:border-box}body{margin:0;background:#e9ece2;color:var(--ink);font:14px Manrope,Arial,sans-serif;display:grid;grid-template-columns:230px minmax(360px,480px) 260px;justify-content:center;align-items:start;gap:36px}button,input,textarea,select{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0;background:transparent}button:disabled{cursor:default;opacity:.55}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #326bc5;outline-offset:3px}button{min-height:44px}#workbench,#companion{position:sticky;top:0;padding:42px 0;max-height:100vh;overflow:auto}#companion{padding-top:87px}#workbench .brand{font-size:25px;font-weight:800;letter-spacing:-1px}#workbench .lead{font:700 54px/.95 'Barlow Condensed',sans-serif;letter-spacing:-1px;margin:45px 0 16px}#workbench p,#companion p{color:var(--muted);font-size:12px;line-height:1.8}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.5px}.rail-nav{display:grid;gap:5px;margin:25px 0}.rail-nav a{text-decoration:none;padding:12px 0;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);font-size:12px}.rail-nav a.current{font-weight:800}.rail-note{padding:18px 0;border-top:1px solid #c9d0c1}.scenario{width:100%;text-align:left;padding:14px 0;border-bottom:1px solid #cbd1c5;font-size:12px;display:flex;gap:12px;align-items:center}.scenario span{font:700 25px 'Barlow Condensed';color:#5c6854}.aside-select{padding:10px;width:100%;background:#f6f7f0;border:1px solid #c9d0c1;margin:10px 0;font-size:12px}#app-shell{background:var(--paper);min-height:100dvh;position:relative;box-shadow:0 0 0 1px #0000000a}#app{padding:24px 24px 115px;min-height:calc(100dvh - 31px)}.demo-bar{height:31px;background:#e7eadf;display:flex;justify-content:space-between;align-items:center;padding:0 20px;font-size:9px;letter-spacing:1px;color:#4c5747}.demo-bar button{min-height:26px;text-decoration:underline;font-size:10px;letter-spacing:0}.app-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px}.brand{font-size:23px;font-weight:800;letter-spacing:-1px;text-decoration:none}.brand small{font-size:.65em}.location{font-size:11px;display:flex;align-items:center;gap:4px;margin-top:4px;color:var(--muted)}.location button{min-height:30px;padding:0;display:flex;gap:3px;align-items:center}.head-actions{display:flex;gap:7px}.icon{display:inline-flex;width:22px;height:22px;flex-shrink:0;vertical-align:middle}.icon svg{width:100%;height:100%}.ib{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;position:relative}.badge{position:absolute;right:-2px;top:-3px;background:var(--ink);color:white;border-radius:20px;font-size:9px;padding:3px 5px}.backrow{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.backrow .ib{border:0;margin-left:-12px}.backrow .eyebrow{font-size:9px}h1,h2,h3,p{margin:0}h1{font:800 52px/.98 'Barlow Condensed',sans-serif;letter-spacing:-1px;margin:12px 0 16px;text-transform:uppercase}h1.compact{font-size:42px}h2{font:700 30px/1.05 'Barlow Condensed',sans-serif;letter-spacing:-.3px}h3{font-size:15px;line-height:1.4}p{font-size:13px;line-height:1.7}.muted{color:var(--muted)}.tiny{font-size:10px;color:var(--muted);line-height:1.7}.space{height:20px}.section{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:28px 0 12px}.section h2{font:800 17px Manrope,sans-serif;letter-spacing:-.5px}.section a{font-size:11px;min-height:44px;display:flex;align-items:center}.btn{min-height:48px;padding:14px 16px;display:flex;align-items:center;justify-content:center;gap:9px;width:100%;border-radius:5px;background:var(--accent-paint,var(--lime));font-size:12px;font-weight:800;text-decoration:none;text-align:center}.btn.dark{background:var(--ink);color:var(--paper)}.btn.outline{background:transparent;border:1px solid #aab49f}.btn.danger{background:#fff0ed;color:var(--bad);border:1px solid #dba49b}.btn.small{width:auto;min-height:44px;padding:10px 14px;font-size:11px}.button-stack{display:grid;gap:10px;margin-top:20px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hero{background:var(--accent-paint,var(--lime));padding:22px;margin:22px 0 20px;border-radius:5px}.hero .time{font:800 94px/.95 'Barlow Condensed';letter-spacing:-3px;margin:16px 0 14px}.hero h2{font-size:34px;margin-bottom:9px}.hero .btn{margin-top:20px}.hero .eyebrow{display:flex;justify-content:space-between}.accent-rule{height:4px;background:var(--ink);margin:20px 0}.chips{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0}.chip{border:1px solid #b8c1ae;border-radius:24px;padding:10px 13px;font-size:11px;min-height:42px;white-space:nowrap}.chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}.chip[aria-pressed=true]{background:var(--ink);color:#fff}.tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin:20px -3px}.tabs a,.tabs button{flex:1;text-align:center;padding:14px 6px;text-decoration:none;font-size:12px;min-height:46px}.tabs .active{border-bottom:3px solid var(--ink);font-weight:800}.card{background:#fff;border:1px solid var(--line);padding:18px;border-radius:5px;margin:12px 0}.event-top{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:12px}.pill{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;background:#e9eddf;border-radius:20px;font-size:10px;font-weight:700}.pill.lime{background:var(--accent-paint,var(--lime))}.pill.warn{background:#f5e8d2;color:#75531d}.pill.bad{background:#f8e0dd;color:#8b2c27}.row{display:flex;gap:10px;align-items:center}.between{justify-content:space-between}.meta{font-size:11px;color:var(--muted);margin:8px 0 14px;line-height:1.7}.avatar{width:40px;height:40px;border-radius:50%;background:#e5e8d9;color:#38432f;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0}.avatar.large{width:76px;height:76px;font-size:24px;border:4px solid var(--paper)}.avatars{display:flex;padding-left:0}.avatars .avatar{width:29px;height:29px;font-size:9px;border:2px solid white;margin-left:-6px}.avatars .avatar:first-child{margin-left:0}.person{padding:17px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;text-decoration:none}.grow{flex:1;min-width:0}.person p{font-size:11px;color:var(--muted);margin-top:4px}.person .ib{border:0;flex-shrink:0}.person-name{font-weight:800;font-size:13px}.photo{display:block;width:100%;height:200px;object-fit:cover;border-radius:4px;background:#e4e8de}.card .photo{height:170px;margin-bottom:14px}.photo-label{font-size:9px;color:var(--muted);margin-top:5px}.post{padding:20px 0;border-bottom:1px solid var(--line)}.post .author{display:flex;gap:10px;align-items:center;margin-bottom:13px}.post .author a{text-decoration:none}.post p{font-size:13px}.post .author .tiny{font-size:10px}.post .actions{display:flex;justify-content:space-between;margin-top:13px}.post .actions button,.post .actions a{display:flex;align-items:center;gap:7px;font-size:11px;text-decoration:none;min-height:44px}.liked{color:#9a3522}.callout{border-left:3px solid var(--ink);background:#edf1e3;padding:14px;margin:13px 0}.callout p{font-size:12px}.callout a{font-size:11px;display:inline-flex;min-height:38px;align-items:center}.composer{display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.composer a:not(.ib){font-size:12px;text-decoration:none;flex:1;min-width:0;color:var(--muted)}.composer .ib{flex:0 0 44px;width:44px;height:44px}.field{display:block;font-size:11px;font-weight:800;margin:18px 0}.field input,.field textarea,.field select{display:block;width:100%;padding:13px 12px;min-height:47px;background:white;border:1px solid #acb69f;border-radius:5px;margin-top:8px;font-size:13px;font-weight:400}.field textarea{min-height:105px;resize:vertical}.field small{display:block;font-weight:400;font-size:10px;line-height:1.7;color:var(--muted);margin-top:6px}.field input[type=checkbox]{width:20px;height:20px;min-height:20px;display:inline-block;margin:0}.checks{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.7;margin:18px 0}.checks input{margin-top:4px;accent-color:var(--ink);width:18px;height:18px;flex-shrink:0}.error-text{font-size:12px;color:var(--bad);line-height:1.6;margin:12px 0}.error-text:empty{display:none}.notice{background:#e9eddc;border-left:3px solid #818f6b;padding:13px;font-size:11px;line-height:1.7;margin:18px 0}.notice.warn{background:#fff2dc;border-color:#96702a}.detail-line{display:flex;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.6}.detail-line b{text-align:right;max-width:64%;overflow-wrap:anywhere}.price{font-size:30px;font-weight:800;margin:18px 0}.price small{font-size:11px;font-weight:400}.profile-cover{background:var(--accent-paint,var(--lime));padding:20px 20px 45px;font:800 39px/1 'Barlow Condensed';text-transform:uppercase;border-radius:5px}.profile-info{padding:0 10px;margin-top:-35px}.profile-info h2{margin:12px 0;font:800 24px Manrope}.stats{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:20px 0}.stats a{text-decoration:none}.stats b{font-size:26px;display:block}.stats span{font-size:10px;color:var(--muted)}.bubble{max-width:87%;padding:13px 15px;border-radius:15px 15px 15px 3px;background:#fff;border:1px solid #e5e8df;margin:16px 0 5px;line-height:1.6;font-size:12px;overflow-wrap:anywhere}.bubble.me{margin-left:auto;background:var(--accent-paint,var(--lime));border-color:var(--lime);border-radius:15px 15px 3px 15px}.message-time{font-size:9px;color:var(--muted)}.message-time.me{text-align:right}.chat-input{display:flex;gap:8px;margin-top:24px;position:sticky;bottom:78px;background:var(--paper);padding:9px 0}.chat-input input{width:100%;min-width:0;border:1px solid #aab49f;background:white;border-radius:30px;padding:13px}.chat-input button{flex-shrink:0;background:var(--accent-paint,var(--lime));border-color:var(--lime)}.notification{display:flex;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.notification a{flex:1;text-decoration:none;font-size:12px;line-height:1.6}.notification.unread{border-left:3px solid var(--ink);padding-left:10px}.notification .tiny{margin-top:4px}.empty{text-align:center;padding:45px 10px}.empty .icon{width:38px;height:38px}.empty h2{font-size:36px;margin:18px 0 14px}.empty p{color:var(--muted);margin-bottom:22px}.skeleton{height:100px;background:#e6ebdc;margin:15px 0;border-radius:5px}.progress{display:flex;gap:5px;margin:12px 0 22px}.progress span{height:4px;background:#d9dfd0;flex:1}.progress .active{background:var(--ink)}#nav{position:fixed;bottom:0;width:480px;max-width:100vw;background:var(--paper);border-top:1px solid #c9d0be;display:flex;justify-content:space-around;z-index:20;padding:8px 6px max(10px,env(safe-area-inset-bottom))}#nav a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;text-decoration:none;color:#65715b;font-size:10px;min-width:58px;min-height:52px;position:relative}#nav a.active{font-weight:800;color:var(--ink)}#nav a.active:after{content:'';height:4px;width:4px;border-radius:50%;background:var(--ink);position:absolute;bottom:-5px}#nav a.active .icon{background:var(--accent-paint,var(--lime));box-shadow:0 0 0 7px var(--lime);border-radius:8px}.rail-nav .icon{width:19px;height:19px}#toast{position:fixed;left:50%;bottom:92px;transform:translateX(-50%);max-width:90vw;width:max-content;background:var(--ink);color:white;padding:14px 19px;border-radius:8px;font-size:12px;z-index:80;box-shadow:0 5px 20px #0002;display:none}dialog{border:0;border-radius:15px;padding:28px;max-width:420px;width:calc(100vw - 32px);background:var(--paper);color:var(--ink);max-height:85dvh;overflow:auto}dialog::backdrop{background:#10170dc0}dialog h2{font-size:37px;margin:8px 0 15px}dialog p{margin:12px 0}dialog .close{float:right;border:1px solid var(--line);border-radius:50%;width:44px;height:44px;font-size:20px}.help-list{padding-left:20px;font-size:12px;line-height:1.8}.linklist a,.linklist button{display:flex;width:100%;justify-content:space-between;align-items:center;text-decoration:none;border-bottom:1px solid var(--line);padding:17px 0;min-height:55px;font-size:12px;text-align:left}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:20px 0}.days div{border:1px solid #c8d0bd;border-radius:25px;text-align:center;font-size:9px;padding:11px 0}.days b{display:block;font-size:15px;margin-top:8px}.days .active{background:var(--ink);color:white}.success-mark{background:var(--accent-paint,var(--lime));width:66px;height:66px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:25px 0}.success-mark .icon{width:32px;height:32px}.summary-total{background:var(--ink);color:white;padding:20px;margin:20px 0;display:flex;justify-content:space-between;align-items:center}.summary-total b{font-size:24px}.filter-panel{background:#edf0e6;padding:4px 15px 15px;margin:15px 0;border-radius:5px}details summary{padding:14px 0;cursor:pointer;font-size:12px;font-weight:700}.step-label{font-size:10px;font-weight:800;letter-spacing:1px}.menu-button{width:44px;height:44px;text-align:center;font-weight:800;font-size:18px}.empty-inline{padding:25px 0;font-size:12px;color:var(--muted)}.pro-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.pro-metrics div{background:#e8eddc;padding:14px 8px;text-align:center;font-size:10px}.pro-metrics b{display:block;font-size:23px;margin-bottom:5px}.auth-logo{font-size:29px;font-weight:800;letter-spacing:-1.5px;margin:35px 0}.auth-hero{font:800 80px/.91 'Barlow Condensed';letter-spacing:-2px;text-transform:uppercase;margin:25px 0}.auth-hero em{font-style:normal;background:var(--accent-paint,var(--lime));padding:0 7px}.text-button{font-size:11px;text-decoration:underline}.reserved-note{border-top:3px solid var(--ink);padding:18px 0}.admin-tag{font-size:9px;font-weight:700;border:1px solid #b2bca5;padding:4px 6px;border-radius:3px}.choice{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:15px;margin:10px 0;border-radius:5px;font-size:12px}.choice input{accent-color:var(--ink)}@media(max-width:1140px){body{grid-template-columns:210px minmax(360px,480px);gap:28px}#companion{display:none}}@media(max-width:760px){body{display:block;background:var(--paper)}#workbench,#companion{display:none}#app-shell{width:100%;max-width:480px;margin:auto;box-shadow:none}#app{padding:20px 20px 110px}#nav{width:100%;max-width:480px}h1{font-size:49px}}@media(max-width:370px){#app{padding-left:16px;padding-right:16px}.hero{padding:17px}h1{font-size:44px}.pair{gap:7px}.chip{padding:10px}#nav a{min-width:52px;font-size:9px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{#workbench,#companion,#nav,.demo-bar{display:none}body{display:block}#app-shell{box-shadow:none}}
.chip{min-height:44px}body.capture-mobile{display:block;width:390px;background:var(--paper)}body.capture-mobile #workbench,body.capture-mobile #companion{display:none}body.capture-mobile #app-shell,body.capture-mobile #nav{width:390px;max-width:390px}
#app:focus{outline:none}
.linklist button.btn{justify-content:center;text-align:center;padding:14px 16px}
.activity-header{display:flex;align-items:center;gap:8px;margin:-8px -8px 12px;min-height:48px}.activity-header .ib{border:0;flex:0 0 44px}.activity-header h1{font:800 21px/1.3 Manrope,sans-serif;letter-spacing:-.6px;text-transform:none;margin:0;flex:1}.activity-read{font-size:11px;font-weight:700;padding:0 8px;color:#53623f;white-space:nowrap}.activity-section{margin:0 -4px 17px}.activity-section>h2{font:800 13px/1.4 Manrope,sans-serif;letter-spacing:0;padding:9px 4px 7px;margin:0}.activity-row{display:flex;align-items:center;gap:11px;padding:9px 4px;min-height:66px}.activity-avatar{position:relative;flex:0 0 42px;text-decoration:none}.activity-avatar .avatar{width:42px;height:42px;font-size:12px;background:#e2e7d6}.activity-dot{position:absolute;right:-1px;bottom:0;width:9px;height:9px;border:2px solid var(--paper);background:#48652b;border-radius:50%}.activity-copy{flex:1;min-width:0;font-size:12px;line-height:1.5;text-decoration:none;overflow-wrap:anywhere;min-height:44px;display:block;align-content:center}.activity-copy strong{font-weight:800}.activity-time{font-size:10px;color:#697161;white-space:nowrap}.activity-action{flex-shrink:0;background:var(--accent-paint,var(--lime));border-radius:5px;font-size:10px;font-weight:800;padding:0 10px;min-height:44px}.activity-status{font-size:10px;font-weight:700;color:#60685c;min-width:62px;text-align:center}.activity-event{width:48px;min-height:46px;flex-shrink:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#e8eddc;border-radius:5px;text-decoration:none;gap:3px}.activity-event span{font-size:9px;color:#59664b}.activity-event b{font-size:11px}.activity-open{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;color:#68715d}.activity-open .icon{width:17px;height:17px}.activity-empty{padding:35px 8px;text-align:center}.activity-empty h2{font:800 20px Manrope;text-transform:none}.activity-empty p{color:var(--muted);margin:12px 0 22px}@media(max-width:370px){.activity-row{gap:8px}.activity-action{padding:0 8px}.activity-copy{font-size:11px}.activity-header h1{font-size:20px}}
/* Conversation attachments: compact controls and editorial invitation cards. */
.chat-input{display:flex;gap:8px;align-items:center}.chat-input input{flex:1;min-width:0;width:0}.chat-input .ib{flex:0 0 44px;width:44px;height:44px}.chat-input .attach-button{background:transparent;border:1px solid var(--line)}
.attachment-options{display:grid;margin:16px 0}.attachment-option{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;background:none;border:0;border-bottom:1px solid #daddd2;padding:16px 4px;font:inherit;color:inherit;cursor:pointer;min-height:48px}.attachment-option:hover{background:#eceee4}.attachment-option small{color:var(--muted)}
.attachment-preview{display:flex;align-items:center;gap:12px;padding:12px;margin-top:16px;border:1px solid #daddd2;border-radius:12px;font-size:12px}.attachment-preview>img{width:64px;height:64px;object-fit:cover;border-radius:8px}.attachment-preview>.text-button{margin-left:auto;flex-shrink:0}.attachment-preview .invitation-card{flex:1;min-width:0}.message-photo{display:block;max-width:100%;max-height:360px;object-fit:contain;border-radius:10px;margin-bottom:6px}.message-text{white-space:pre-wrap;overflow-wrap:anywhere}.invitation-card{display:flex;flex-direction:column;gap:7px;color:var(--ink);text-decoration:none;background:var(--paper,#f6f7f0);border:1px solid #daddd2;padding:14px;border-radius:10px;font-size:12px;margin-top:8px}.invitation-card>strong{font-size:16px;line-height:1.35}.invitation-card>b{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:12px}.invitation-label{display:flex;align-items:center;gap:7px;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.invitation-label .icon{width:18px;height:18px}.invite-url{width:100%;min-width:0;font-size:12px}.bubble{overflow-wrap:anywhere}
.invitation-card .invitation-join{display:flex;justify-content:center;text-align:center;min-height:40px;padding:10px 12px;font-size:12px;margin-top:5px;width:100%;white-space:normal}.invitation-status{display:flex;align-items:center;gap:6px;font-weight:700;padding:9px 0;color:#375323}.invitation-status .icon{width:18px;height:18px}.invitation-details{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;text-decoration:none;min-height:32px;gap:8px}.invitation-details:hover{text-decoration:underline}
.invitation-capacity{font-size:11px;font-weight:700;color:var(--muted)}.notification-preview{margin:12px 0 20px;font-size:11px;color:var(--muted)}.notification-preview summary{cursor:pointer;padding:8px 0}.notification-preview label{display:block;margin-top:10px}.notification-preview select{margin-top:6px;width:100%;font-size:12px}
.invitation-update{font-size:11px;font-weight:700;color:#72530d}
.friend-request{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #daddd2;min-height:64px}.friend-request-person{display:flex;align-items:center;gap:10px;min-width:0;text-decoration:none;color:inherit;font-size:13px}.friend-request-person .avatar{width:36px;height:36px;flex:0 0 36px;font-size:12px}.friend-request-person strong{overflow-wrap:anywhere}.friend-request-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.friend-request-actions button{font:inherit;font-size:11px;font-weight:700;border:0;border-radius:6px;min-height:36px;padding:8px 10px;cursor:pointer}.friend-request-actions .friend-accept{background:var(--lime,var(--lime));color:var(--ink)}.friend-request-actions .friend-decline{background:transparent;color:var(--muted)}.friend-request-actions .friend-decline:hover{background:#e8ebe0}@media(max-width:350px){.friend-request-actions{gap:0}.friend-request-actions button{padding:8px}.friend-request-person{gap:7px;font-size:12px}}
.friend-accept-preview{margin-top:12px;font-size:11px;color:var(--muted)}.friend-accept-preview summary{cursor:pointer;padding:8px 0}.friend-accept-preview .text-button{display:block;font-size:12px;text-align:left;min-height:36px}.friend-accept-preview p{margin:8px 0}
.activity-message{display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;white-space:normal;max-width:96px;min-height:36px;line-height:1.35;flex-shrink:0}
.message-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:#273822;color:#fff;font-size:10px;font-weight:800;line-height:1;flex-shrink:0}#nav a{position:relative}#nav .message-badge{position:absolute;top:4px;left:calc(50% + 7px);border:2px solid var(--paper,#f6f7f0);height:20px;min-width:20px}.rail-nav .message-badge{margin-left:auto}
#conversations .conversation-row{gap:12px;padding:14px 0;min-height:72px}#conversations .avatar{width:40px;height:40px;flex:0 0 40px;font-size:12px}.conversation-body{flex:1;min-width:0}.conversation-top,.conversation-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.conversation-top h3{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0}.conversation-top time{font-size:10px;color:var(--muted);white-space:nowrap;flex-shrink:0}.conversation-bottom{margin-top:4px}.conversation-bottom p{font-size:12px;line-height:1.5;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted)}.has-unread .conversation-bottom p{color:var(--ink);font-weight:600}.conversation-bottom .message-badge{height:17px;min-width:17px;font-size:9px}
.message-row{margin-bottom:16px}.message-row .bubble{margin-bottom:0;touch-action:pan-y;-webkit-touch-callout:none;user-select:none}.message-row .message-time{margin:3px 0 0;font-size:10px}.message-reaction-line{display:flex;align-items:center;gap:5px;min-height:24px;max-width:88%}.is-mine .message-reaction-line{margin-left:auto;justify-content:flex-end}.message-react-trigger{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:5px;border:0;background:transparent;color:var(--muted);cursor:pointer;border-radius:50%;opacity:.55}.message-react-trigger .icon{width:15px;height:15px}.message-react-trigger:hover,.message-react-trigger:focus-visible{opacity:1;background:#e8ebe0}.message-reaction-chip{border:1px solid #daddd2;border-radius:14px;padding:2px 8px;background:var(--paper,#f6f7f0);font-size:16px;min-height:28px;cursor:pointer}.message-delivery{color:var(--muted);font-size:10px}.reaction-picker{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;margin:20px 0}.reaction-choice{display:flex;align-items:center;justify-content:center;border:0;background:transparent;border-radius:50%;font-size:25px;padding:0;min-width:0;height:44px;cursor:pointer}.reaction-choice:hover,.reaction-choice[aria-pressed="true"]{background:var(--lime,var(--lime))}@media(max-width:370px){.reaction-picker{grid-template-columns:repeat(4,1fr);gap:6px}.reaction-choice{font-size:27px}}
dialog.reaction-dialog{width:360px;max-width:calc(100vw - 24px);padding:16px;border-radius:18px}dialog.reaction-dialog h2{font-family:Manrope,sans-serif;font-size:13px;line-height:1.5;letter-spacing:0;text-transform:none;margin:0;padding-right:28px}dialog.reaction-dialog .reaction-picker{grid-template-columns:repeat(8,minmax(0,1fr));gap:0;margin:16px 0 12px}dialog.reaction-dialog .reaction-choice{height:38px;font-size:24px}dialog.reaction-dialog .tiny{font-size:10px;line-height:1.5}dialog.reaction-dialog .button-stack{margin-top:8px}dialog.reaction-dialog .text-button{font-size:11px}
.reaction-people{margin:12px 0}.reaction-person{display:flex;align-items:center;gap:10px;min-height:52px;border-bottom:1px solid #e2e5db;font-size:12px}.reaction-person .avatar{width:32px;height:32px;flex:0 0 32px;font-size:11px}.reaction-person-emoji{margin-left:auto;font-size:23px}.reaction-dialog select{display:block;width:100%;margin-top:6px;font-size:12px}.reaction-target .bubble{outline:1px solid #a5b98b;outline-offset:3px}
.message-own-actions{display:flex;gap:16px;justify-content:space-between;border-top:1px solid #e2e5db;border-bottom:1px solid #e2e5db;padding:6px 0;margin-bottom:10px}.message-own-actions .text-button{min-height:36px;text-decoration:none}.message-own-actions .message-delete{color:#9a352d}.message-edited{font-size:10px;color:var(--muted)}.bubble.deleted-message,.bubble.deleted-message.me{background:transparent;border:1px solid #daddd2;color:var(--muted);font-style:italic;font-size:12px;padding:12px 14px}.message-edit-actions{display:flex;align-items:center;gap:16px;margin-top:12px}.message-edit-actions .btn{font-size:12px;min-height:40px;padding:10px 14px}#edited-message-text{display:block;width:100%;margin-top:8px;resize:vertical;font-size:14px;line-height:1.5}
.message-quote{display:flex;flex-direction:column;gap:3px;width:100%;min-width:0;text-align:left;background:rgba(23,27,22,.055);border:0;border-left:2px solid #68785b;border-radius:4px;padding:8px 10px;margin:0 0 9px;color:inherit;font:inherit;cursor:pointer}.message-quote strong{font-size:11px;line-height:1.4}.message-quote span{font-size:11px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;opacity:.75}.message-quote:disabled{cursor:default}.reply-preview{display:flex;align-items:center;gap:8px;margin:16px 0 0;border-top:1px solid #daddd2;padding-top:10px}.reply-preview-copy{flex:1;min-width:0}.reply-preview small{font-size:10px;color:var(--muted)}.reply-preview .message-quote{margin:5px 0 0}.reply-dismiss{flex:0 0 32px;width:32px;height:32px;border:0;background:none;color:var(--muted);font-size:22px;cursor:pointer}.bubble.is-swiping{will-change:transform}.message-row.reply-highlight .bubble{animation:reply-flash 1.6s ease-out}.message-row:focus{outline:none}@keyframes reply-flash{0%,35%{box-shadow:0 0 0 3px #a7bc83}100%{box-shadow:0 0 0 3px transparent}}@media(prefers-reduced-motion:reduce){.message-row.reply-highlight .bubble{animation:none;outline:2px solid #a7bc83}}
/* Cohesive compact member experience. */
.compact-tabs{display:flex;gap:20px;border-bottom:1px solid #daddd2;margin:18px 0}.compact-tab{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);padding:10px 0;font:inherit;font-size:12px;cursor:pointer}.compact-tab.selected{color:var(--ink);font-weight:800;border-bottom-color:var(--ink)}
.conversation-header{display:flex;align-items:center;gap:10px;padding:14px 0 20px;margin-bottom:12px;border-bottom:1px solid #daddd2}.conversation-header .avatar{width:36px;height:36px;flex:0 0 36px;font-size:12px}.conversation-heading{flex:1;min-width:0}.conversation-heading h1{font-family:Manrope,sans-serif;font-size:16px;line-height:1.4;letter-spacing:0;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.conversation-heading p{font-size:10px;color:var(--muted);line-height:1.5;margin:3px 0 0}.conversation-header .ib{flex:0 0 32px;width:32px;height:36px;font-size:17px}
.chat-input textarea{flex:1;min-width:0;width:0;min-height:44px;max-height:120px;border-radius:22px;resize:none;font:inherit;font-size:14px;line-height:20px;padding:11px 14px;background:white;border:1px solid #acb5a2;overflow-y:auto}.chat-input{align-items:flex-end}.chat-input .ib{margin-bottom:0}.draft-label{color:#806021;font-weight:700}.quiet-label{font-size:10px;font-weight:400;color:var(--muted)}.prototype-footnote{margin:20px 0 0;font-size:10px}
.chat-search-results{max-height:50vh;overflow-y:auto;margin-top:12px}.chat-search-result{display:flex;flex-direction:column;gap:5px;width:100%;text-align:left;border:0;border-bottom:1px solid #daddd2;background:none;padding:12px 0;color:inherit;font:inherit;font-size:12px;cursor:pointer}.chat-search-result strong{display:flex;justify-content:space-between;gap:10px}.chat-search-result small{font-weight:400;color:var(--muted)}.chat-search-result>span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--muted)}.media-result{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:12px 0;border:0;border-bottom:1px solid #daddd2;background:none;font:inherit;font-size:12px;cursor:pointer}.media-result>img{width:54px;height:54px;object-fit:cover;border-radius:8px}.media-result>span{flex:1;min-width:0;overflow-wrap:anywhere}.media-result small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.photo-open{display:block;padding:0;border:0;background:none;cursor:zoom-in;width:100%;border-radius:10px;overflow:hidden}.photo-open .message-photo{margin:0;max-width:100%;width:auto}.photo-dialog{max-width:min(90vw,800px);width:800px}.full-message-photo{display:block;width:100%;max-height:70vh;object-fit:contain}
.share-destinations{max-height:45vh;overflow-y:auto;margin-top:14px}.share-destination{display:flex;align-items:center;gap:10px;width:100%;padding:10px 0;background:none;border:0;border-bottom:1px solid #daddd2;font:inherit;font-size:13px;text-align:left;cursor:pointer}.share-destination .avatar{width:34px;height:34px;flex:0 0 34px;font-size:12px}.event-waitlist{font-size:12px;margin:16px 0}.event-waitlist summary{cursor:pointer;padding:10px 0;font-weight:700}.waitlist-person{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #daddd2}.waitlist-person .avatar{width:30px;height:30px;font-size:11px}.agenda-date{font-family:Manrope,sans-serif;font-size:13px;margin:22px 0 12px}.agenda-empty{padding:24px 0}.agenda-empty p{font-size:13px;color:var(--muted);margin-bottom:16px}.backrow .ib{position:relative}#message-search-query{width:100%;margin-top:8px}.message-row{overflow-wrap:anywhere}
.event-test-controls{display:grid;gap:10px;padding-top:10px}.event-test-controls label{font-size:11px}.event-test-controls select{display:block;width:100%;font-size:12px;margin-top:5px}.help-shortcuts{display:grid;gap:8px;margin:20px 0}.help-shortcuts .btn{font-size:12px}
.conversation-header .ib{width:36px;height:36px;min-width:36px;min-height:36px;flex-basis:36px;border:0}.message-row .bubble{margin-top:0}.message-row .message-time{line-height:1.4}.photo-open:focus-visible{outline:3px solid #326bc5;outline-offset:3px}
/* Profile customization: genuine vector sports marks and crop-first photography. */
.avatar{overflow:hidden}.avatar>img{display:block;width:100%;height:100%;object-fit:cover}.avatar>svg{display:block;width:58%;height:58%;flex-shrink:0}.profile-cover-custom{position:relative;aspect-ratio:3/1;width:100%;overflow:hidden;border-radius:8px;margin-top:18px}.cover-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cover-text{position:absolute;inset:12% 7%;z-index:2;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:clamp(22px,5.5vw,38px);line-height:.95;white-space:pre-line;overflow-wrap:anywhere;display:flex;align-items:center;max-height:76%;overflow:hidden}.cover-text-dark{color:#171b16}.cover-text-light{color:white;text-shadow:0 1px 8px #0009}.cover-text-left{justify-content:flex-start;text-align:left}.cover-text-center{justify-content:center;text-align:center}.cover-text-right{justify-content:flex-end;text-align:right}.cover-edit{position:absolute;right:9px;top:9px;z-index:3;display:flex;gap:5px;align-items:center;padding:5px 8px;background:#ffffffdc;border-radius:5px;color:#171b16;text-decoration:none;font-size:9px}.cover-edit .icon{width:13px;height:13px}.profile-avatar-edit{display:inline-flex;text-decoration:none;position:relative}.profile-avatar-edit:after{content:'+';position:absolute;right:0;bottom:2px;display:grid;place-items:center;width:22px;height:22px;background:var(--ink);color:white;border:2px solid var(--paper);border-radius:50%;font-size:15px}.profile-avatar-edit .avatar{border:4px solid var(--paper)}.appearance-preview{margin:16px 0 24px}.appearance-preview .profile-cover-custom{margin-top:0}.appearance-avatar-preview{margin:-25px 0 0 18px;position:relative;z-index:3}.appearance-avatar-preview .avatar{width:70px;height:70px;font-size:24px;border:4px solid var(--paper)}.appearance-editor>section{margin:24px 0 32px;border-bottom:1px solid #daddd2;padding-bottom:24px}.appearance-editor h2{font-family:Manrope,sans-serif;font-size:17px;margin:0 0 8px}.appearance-editor h3{font-size:13px;margin:18px 0 10px}.appearance-controls{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}.appearance-controls .btn{font-size:11px;padding:10px 12px;min-height:38px}.appearance-controls .text-button{font-size:11px}.sport-avatar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 6px}.sport-avatar-choice{border:1px solid transparent;background:none;padding:7px 3px;border-radius:9px;cursor:pointer;font:inherit;color:inherit}.sport-avatar-choice>span{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;margin:0 auto 7px}.sport-avatar-choice svg{width:30px;height:30px}.sport-avatar-choice small{font-size:9px;line-height:1.3}.sport-avatar-choice.selected{border-color:#4a6332;background:#eef1e5}.avatar-color-choices{display:flex;gap:8px;margin:8px 0}.avatar-color-choice{display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:3px;border:1px solid transparent;border-radius:50%;background:none;cursor:pointer}.avatar-color-choice[aria-pressed=true]{border-color:#171b16}.avatar-color-choice span{width:26px;height:26px;border-radius:50%}.cover-preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 8px}.cover-preset{padding:3px;border:1px solid transparent;border-radius:6px;background:none;color:inherit;cursor:pointer;text-align:left;font:inherit}.cover-preset>span{display:block;width:100%;aspect-ratio:3/1;border-radius:4px;margin-bottom:6px}.cover-preset>small{font-size:9px;line-height:1.4;display:block}.cover-preset.selected{border-color:#171b16}.custom-cover-panel{margin-top:24px;background:#ecefe4;padding:14px;border-radius:8px}.custom-cover-panel h3{margin-top:0}.custom-cover-panel .appearance-controls{margin-bottom:0}.brand-choices-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:24px}.brand-choices-header h3{margin:0}.brand-choices-header .text-button{font-size:10px}.approved-banner-grid{display:grid;gap:12px;margin-top:14px}.approved-banner-choice{border:1px solid #daddd2;background:none;border-radius:7px;padding:4px;cursor:pointer;text-align:left;color:inherit}.approved-banner-choice.selected{border-color:#171b16}.approved-banner-choice small{display:block;font-size:10px;padding:7px}.appearance-savebar{position:sticky;bottom:80px;z-index:5;display:flex;align-items:center;gap:18px;background:var(--paper);padding:10px 0;border-top:1px solid #daddd2}.appearance-savebar .btn{font-size:12px;flex:1}.appearance-savebar .text-button{font-size:12px}.appearance-editor textarea{width:100%;resize:vertical;margin:8px 0 16px}.profile-crop-dialog{max-width:560px;width:calc(100vw - 24px);padding:20px}.profile-crop-dialog h2{font-family:Manrope,sans-serif;font-size:19px;letter-spacing:0}.profile-crop-stage{position:relative;overflow:hidden;touch-action:none;cursor:grab;background:#e3e7db;margin:16px auto;user-select:none}.profile-crop-stage:active{cursor:grabbing}.profile-crop-stage img{position:absolute;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}.crop-cover{width:100%;aspect-ratio:3/1;border-radius:6px}.crop-avatar{width:200px;height:200px;border-radius:50%;outline:1px solid #daddd2}.crop-sliders{display:grid;gap:8px}.crop-sliders label{font-size:11px;display:flex;align-items:center;gap:12px}.crop-sliders input{flex:1;min-width:0;accent-color:#647c35;padding:0;height:28px}.profile-crop-dialog .button-stack .btn{font-size:12px}.profile-crop-dialog .button-stack .text-button{font-size:11px}
/* Branded proposal gallery. Logos are sourced SVGs; compositions remain review concepts. */
.brand-banner{position:relative;width:100%;aspect-ratio:3/1;overflow:hidden;isolation:isolate;background:var(--brand-accent);color:var(--brand-ink);font-family:Manrope,sans-serif}.brand-banner-top,.brand-banner-bottom{position:absolute;left:6%;right:6%;display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:clamp(5px,1vw,8px);font-weight:700;letter-spacing:.13em;z-index:2}.brand-banner-top{top:12%}.brand-banner-bottom{bottom:10%;font-size:clamp(4px,.8vw,7px);letter-spacing:.06em}.brand-symbol{position:absolute;right:9%;top:19%;width:22%;height:58%;display:flex;align-items:center;justify-content:center;z-index:1}.brand-symbol svg{height:100%;width:100%;fill:currentColor}.brand-wordmark{font-size:clamp(18px,4vw,34px);font-weight:900;line-height:.95;letter-spacing:-.07em}.brand-caption{position:absolute;left:6%;top:34%;max-width:52%;font-size:clamp(15px,3.5vw,29px);font-family:'Barlow Condensed',sans-serif;font-weight:800;line-height:.95;white-space:pre-line;z-index:2;letter-spacing:-.015em}.brand-lines{position:absolute;inset:0;z-index:0;pointer-events:none}.brand-layout-0 .brand-lines{background:linear-gradient(110deg,transparent 59%,#ffffff32 59.2%,#ffffff32 60%,transparent 60.2%,transparent 68%,#ffffff32 68.2%,#ffffff32 69%,transparent 69.2%)}.brand-layout-1{background:var(--brand-ink);color:var(--brand-accent)}.brand-layout-1 .brand-lines{inset:-70% -15% -90% 52%;border:1px solid currentColor;border-radius:50%;box-shadow:0 0 0 12px var(--brand-ink),0 0 0 13px currentColor,0 0 0 28px var(--brand-ink),0 0 0 29px currentColor;opacity:.35;transform:rotate(-25deg)}.brand-layout-1 .brand-symbol{right:10%;width:17%;height:48%;top:24%}.brand-layout-1 .brand-caption{font-style:italic;max-width:56%;font-size:clamp(16px,3.8vw,32px)}.brand-layout-2{background:#f6f4ed;color:var(--brand-ink)}.brand-layout-2 .brand-lines{left:61%;background:var(--brand-accent);transform:skewX(-13deg);right:-20%}.brand-layout-2 .brand-symbol{right:6%;width:20%}.brand-layout-2 .brand-caption{max-width:55%;font-size:clamp(15px,3.5vw,28px)}.brand-on.brand-layout-0 .brand-lines{clip-path:polygon(36% 100%,55% 18%,64% 56%,76% 4%,100% 100%);background:#ffffff63}.brand-reebok.brand-layout-0 .brand-lines{background:repeating-linear-gradient(135deg,transparent 0 30px,#ffffff20 31px 33px)}.brand-puma.brand-layout-1 .brand-lines{border-radius:0;transform:rotate(-20deg);left:58%}.brand-asics.brand-layout-0 .brand-lines{border:2px solid #ffffff64;border-radius:50%;inset:-65% -10% -90% 37%;transform:rotate(-20deg);background:none}.brand-newbalance.brand-layout-0{background:#e8e5d9;color:#a92e32}.brand-newbalance.brand-layout-0 .brand-lines{background:repeating-linear-gradient(0deg,transparent 0 12px,#a92e3210 13px 14px)}.brand-adidas.brand-layout-2 .brand-lines{transform:skewX(-24deg);left:70%;box-shadow:-13px 0 0 #f6f4ed,-27px 0 0 var(--brand-accent),-40px 0 0 #f6f4ed,-54px 0 0 var(--brand-accent)}
.banner-gallery-intro{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 30px;padding:18px 0 28px}.banner-gallery-intro>p{max-width:650px;font-size:13px}.banner-gallery-intro>.tiny{font-size:10px}.banner-gallery-intro label{display:block;margin-left:auto;min-width:190px}.banner-gallery-intro select{display:block;width:100%;margin-top:6px;font-size:12px}.brand-gallery-section{margin-bottom:36px}.brand-gallery-section>h2{font-family:Manrope,sans-serif;font-size:19px;margin-bottom:14px;letter-spacing:-.02em}.brand-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.brand-proposal{border:1px solid #daddd2;border-radius:8px;overflow:hidden;background:#fff}.brand-proposal-info{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px}.brand-proposal-info small{font-size:8px;letter-spacing:.1em;color:var(--muted)}.brand-proposal-info h3{font-size:12px;margin:4px 0 0}.brand-approve{font:inherit;font-size:10px;font-weight:700;background:none;border:1px solid #c9cec1;border-radius:5px;padding:8px;cursor:pointer;max-width:105px}.brand-approve.is-approved{background:var(--accent-paint,var(--lime));border-color:var(--lime)}.gallery-return{max-width:260px;margin:30px auto}.gallery-mode #workbench,.gallery-mode #companion{display:none}.gallery-mode{display:block}.gallery-mode #app-shell{max-width:1280px;width:calc(100% - 48px);margin:auto}.gallery-mode #app{padding:24px 32px 110px}.gallery-mode #nav{max-width:480px;left:50%;transform:translateX(-50%);width:100%}.gallery-mode .brand-banner .brand-caption{font-size:clamp(16px,2vw,30px)}
@media(max-width:900px){.brand-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-mode #app-shell{width:calc(100% - 24px)}.gallery-mode #app{padding:20px 16px 100px}}@media(max-width:600px){.brand-gallery-grid{grid-template-columns:1fr}.gallery-mode #app-shell{width:100%}.gallery-mode .brand-banner .brand-caption{font-size:28px}.banner-gallery-intro label{width:100%;margin-left:0}.profile-cover-custom .cover-text{font-size:28px}.appearance-editor .pair{gap:10px}.appearance-editor .pair select{font-size:12px}}@media(max-width:350px){.profile-cover-custom .cover-text{font-size:24px}.sport-avatar-choice>span{width:46px;height:46px}.sport-avatar-choice small{font-size:8px}.cover-preset>small{font-size:8px}}

.cover-text>span{display:block;max-width:100%;flex-shrink:1}

.group-identity{display:flex;gap:14px;align-items:center;margin:18px 0}.group-identity>.avatar{width:64px;height:64px;flex-shrink:0;font-size:22px}.group-identity p{margin:6px 0;font-size:13px}
.training-tabs{display:flex;gap:12px;justify-content:space-between;margin:22px 0}.training-tabs button{font-size:12px;padding:10px 0;text-decoration:none;border-bottom:2px solid transparent}.training-tabs button[aria-pressed=true]{border-color:var(--ink);font-weight:800}.timer-panel{background:#171b16;color:#f6f7f0;border-radius:12px;padding:24px 18px;margin:18px 0}.timer-panel .eyebrow{color:var(--lime)}.timer-clock{font-family:'Barlow Condensed',sans-serif;font-size:clamp(48px,13vw,76px);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:1px;margin:18px 0}.timer-panel .tiny{color:#c5cabc}.timer-panel .btn.outline{color:#f6f7f0;border-color:#6d7567;background:transparent}.timer-panel .text-button{color:var(--lime);margin-top:16px}.timer-panel .checks{font-size:11px;margin-top:20px}.timer-laps .row{padding:10px 0;border-bottom:1px solid #daddd2;font-size:13px;font-variant-numeric:tabular-nums}#timer-config h2{font:700 18px Manrope,sans-serif}#timer-config label{font-size:12px}.workout-map{height:330px;width:100%;border-radius:9px;background:#e4e8df;z-index:0;margin-top:18px}.track-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.track-stats>div{display:flex;flex-direction:column;gap:4px}.track-stats b{font-size:21px;font-variant-numeric:tabular-nums}.track-stats span{font-size:10px;color:#626b5d}.leaflet-container{font-family:Manrope,sans-serif}.leaflet-container .leaflet-control a{color:#171b16}.timer-panel button:disabled{opacity:.4}@media(max-width:350px){.track-stats b{font-size:17px}.training-tabs{gap:8px}.training-tabs button{font-size:11px}}
.timer-panel .btn:not(.outline){color:#171b16}#timer-config>.field{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;margin:0;border-bottom:1px solid #daddd2}#timer-config>.field input{width:85px;flex-shrink:0;margin:0;text-align:right;font-size:20px;font-weight:700;padding:8px;background:transparent;border:1px solid #daddd2}#timer-config>button{margin-top:18px}
.shared-activity{border:1px solid #daddd2;border-radius:9px;background:var(--paper);color:#171b16;overflow:hidden;margin:14px 0;min-width:0}.shared-activity-heading{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;font-size:12px}.shared-activity-heading time{font-size:10px;color:#626b5d}.shared-route-map{height:215px;width:100%;background:#e4e8df;z-index:0}.shared-activity .track-stats{padding:0 12px;margin:14px 0}.shared-activity .track-stats b{font-size:18px}.shared-activity>.tiny{padding:0 12px 10px;margin:0;font-size:9px}.bubble:has(.shared-activity){width:100%;max-width:100%;padding:10px}.bubble .shared-activity{margin:4px 0 8px}.bubble .track-stats b{font-size:16px}.shared-route-map .leaflet-control-attribution{font-size:8px}.shared-activity .leaflet-control-attribution a{color:#171b16}
.feed-photo-controls{display:flex;align-items:center;gap:20px;margin:10px 0 20px}.feed-photo-controls .text-button{font-size:11px;padding:6px 0}.feed-post-photo{display:block;width:100%;max-height:560px;object-fit:contain;background:#e9ecdf;border-radius:8px;margin:12px 0}.post-photo-preview{margin:16px 0}.post-photo-preview img{display:block;max-height:350px;width:100%;object-fit:contain;border-radius:8px;background:#e9ecdf}.post-photo-preview .text-button{font-size:11px;margin-top:8px}
.post-photo-trigger{width:40px;height:40px;flex:0 0 40px;border:0!important;background:transparent;padding:8px}.post-photo-trigger .icon{width:24px;height:24px}.post-photo-sheet{position:fixed;inset:auto 0 0;margin:0 auto!important;width:100%;max-width:520px;max-height:85dvh;border-radius:20px 20px 0 0;padding:30px 22px calc(18px + env(safe-area-inset-bottom));border:0;animation:photo-sheet-in .2s ease-out}.post-photo-sheet h2{font:800 20px Manrope,sans-serif;letter-spacing:0}.sheet-grip{position:absolute;top:9px;left:calc(50% - 20px);width:40px;height:4px;border-radius:4px;background:#b6bcad}.post-photo-sheet>.button-stack{display:none}.photo-sheet-options{margin:18px 0 4px}.photo-sheet-options>button{display:flex;align-items:center;gap:15px;width:100%;padding:18px 0;border:0;border-top:1px solid #daddd2;background:none;text-align:left;color:var(--ink);font:inherit}.photo-sheet-options>button>span:not(.icon){flex:1}.photo-sheet-options b{display:block;font-size:14px}.photo-sheet-options small{display:block;color:#626b5d;font-size:11px;margin-top:5px}.photo-sheet-options button:disabled{opacity:.4}.post-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}.post-photo-grid>div{position:relative;aspect-ratio:1;min-width:0}.post-photo-grid img{width:100%;height:100%;object-fit:cover;border-radius:7px}.post-photo-grid button{position:absolute;right:4px;top:4px;border:0;border-radius:50%;width:28px;height:28px;min-width:28px;min-height:28px;padding:0;display:grid;place-items:center;line-height:1;background:#171b16dd;color:white;font-size:20px}.post-photo-grid>div>span{position:absolute;left:5px;bottom:5px;background:#171b16bb;color:white;border-radius:3px;padding:2px 6px;font-size:10px}.photo-hd-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0;padding:14px 0;border-top:1px solid #daddd2;border-bottom:1px solid #daddd2}.photo-hd-toggle b{font-size:13px}.photo-hd-toggle small{display:block;font-size:10px;color:#626b5d;margin-top:4px}.photo-hd-toggle input{width:20px;height:20px;accent-color:#526b20}.post-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:12px 0;border-radius:8px;background:#e9ecdf}.post-carousel figure{position:relative;min-width:100%;width:100%;margin:0;scroll-snap-align:start}.post-carousel img{display:block;width:100%;height:350px;object-fit:contain}.post-carousel figcaption{position:absolute;right:10px;top:10px;background:#171b16cc;color:white;font-size:11px;padding:5px 8px;border-radius:20px}@keyframes photo-sheet-in{from{transform:translateY(100%)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.post-photo-sheet{animation:none}}
.post-photo-open{display:block;border:0;background:transparent;padding:0;width:100%;cursor:zoom-in}.post-carousel figcaption{pointer-events:none}.post-photo-open:focus-visible{outline:3px solid #526b20;outline-offset:-3px}.photo-viewer{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#10120f;color:#fff;overflow:hidden}.photo-viewer[open]{display:flex;flex-direction:column}.photo-viewer::backdrop{background:#10120f}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;min-height:60px;font-size:12px;flex-shrink:0}.viewer-toolbar>span:last-child{width:44px;text-align:right}.photo-viewer button{display:grid;place-items:center;width:44px;height:44px;padding:8px;background:transparent;color:white;border:0;border-radius:50%;font:inherit;cursor:pointer}.photo-viewer button:focus-visible{outline:2px solid var(--lime)}.photo-viewer button:disabled{opacity:.25;cursor:default}.photo-viewer .viewer-controls [data-viewer=zoom]{width:72px;font-size:12px}.viewer-stage{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;user-select:none;cursor:zoom-in}.viewer-stage.is-zoomed{cursor:grab}.viewer-stage.is-zoomed:active{cursor:grabbing}.viewer-stage img{max-width:100%;max-height:100%;object-fit:contain;display:block;pointer-events:none;user-select:none;transform-origin:center;flex-shrink:0}.viewer-stage img:not([src]){visibility:hidden}.viewer-status{position:absolute;color:#ccd0c7;font-size:13px;padding:20px;text-align:center;pointer-events:none}.viewer-controls{display:flex;align-items:center;justify-content:center;gap:14px;padding:8px 14px;flex-shrink:0}.viewer-controls [data-viewer=in],.viewer-controls [data-viewer=out]{font-size:25px}.viewer-help{text-align:center;color:#adb5a5;font-size:10px;margin:0;padding:0 12px calc(14px + env(safe-area-inset-bottom));flex-shrink:0}

.home-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin:22px 0 30px}.home-shortcuts>a{display:flex;align-items:center;gap:10px;min-height:76px;padding:14px 0;border-bottom:1px solid #daddd2;text-decoration:none;color:var(--ink)}.home-shortcuts>a>.icon{width:22px;height:22px;flex:0 0 22px;color:#526047}.home-shortcuts>a>span:not(.icon){font-size:12px;font-weight:800;line-height:1.4;min-width:0}.home-shortcuts small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:4px}.home-shortcuts>a:hover{color:#526b20}.home-shortcuts>a:active{background:#edf1e3}@media(max-width:350px){.home-shortcuts{gap:0 12px}.home-shortcuts>a{gap:7px}.home-shortcuts>a>span:not(.icon){font-size:11px}}
/* Shared action hierarchy: compact navigation, one clear confirmation action. */
.shortcut-link{display:flex;align-items:center;gap:10px;min-height:48px;padding:12px 0;border-bottom:1px solid #daddd2;color:var(--ink);text-decoration:none;font-size:12px;font-weight:700;line-height:1.4;min-width:0}.shortcut-link>span:not(.icon){flex:1;min-width:0}.shortcut-link>.icon{width:20px;height:20px;flex:0 0 20px;color:#526047}.shortcut-link>.icon:last-child{width:15px;height:15px;flex-basis:15px;opacity:.65}.shortcut-link:hover{color:#526b20}.card>.shortcut-link{border-bottom:0;padding-bottom:0}.button-stack{gap:12px}.button-stack>.shortcut-link{margin:0}.pair>.shortcut-link>.icon:last-child{display:none}.pair>.shortcut-link{align-items:center}.page-shortcuts{margin:18px 0 26px}.btn{min-height:44px;padding:12px 16px;font-size:13px;line-height:1.4;border-radius:7px}.btn.outline{font-size:12px;background:transparent}.btn.small{padding:9px 12px;font-size:11px;min-height:40px}.button-stack>.text-button{justify-self:start;font-size:12px;padding:8px 0;min-height:40px}.linklist>a{font-size:12px;min-height:48px}.settings-action{display:flex;align-items:center;width:100%;padding:14px 0;background:none;border:0;border-bottom:1px solid #daddd2;font:600 12px Manrope,sans-serif;text-align:left;min-height:48px;color:var(--ink)}.danger-text{color:#9a3522}.appearance-controls .btn{min-height:40px;padding:9px 12px}.appearance-savebar .btn{min-height:44px}.training-tabs button{min-height:44px}.shortcut-link:focus-visible,.home-shortcuts a:focus-visible{outline:2px solid #526b20;outline-offset:3px}
/* Mobile density: preserve readable text and touch targets, reduce empty space. */
@media(max-width:700px){
 #app{padding:18px 20px 96px}
 #app>.backrow{margin-bottom:8px}
 #app>h1{font-size:38px;line-height:1.02;letter-spacing:-.6px;margin:10px 0 12px;overflow-wrap:break-word;text-wrap:pretty}
 #app>h1.compact{font-size:32px;line-height:1.05;margin:8px 0 10px}
 #app>h1+.muted{font-size:13px;line-height:1.55}
 #app>.app-head{margin-bottom:20px}
 .section{margin:20px 0 8px;gap:12px}
 .section h2{font-size:16px;line-height:1.3;letter-spacing:-.3px}
 .space{height:12px}
 .hero{margin:16px 0;padding:18px}
 .hero .time{font-size:72px;line-height:.98;margin:12px 0}
 .hero h2{font-size:28px;line-height:1.08;margin-bottom:8px}
 .hero .btn{margin-top:16px}
 .card{padding:14px;margin:10px 0}
 .card h2{font-size:24px;line-height:1.12}
 .card .photo{height:150px;margin-bottom:10px}
 .home-shortcuts{margin:14px 0 20px}
 .home-shortcuts>a{min-height:68px;padding:11px 0}
 .home-shortcuts small{margin-top:3px}
 .profile-info h2{font-size:22px;line-height:1.25;margin:10px 0 8px}
 .profile-info{padding-left:6px;padding-right:6px}
 .profile-cover-custom{margin-top:14px}
 .group-identity{margin:14px 0;gap:12px}
 .button-stack{margin-top:16px;gap:10px}
 .field{margin-top:14px;margin-bottom:14px}
 .appearance-preview{margin:14px 0 20px}
 .appearance-editor>section{margin:20px 0 24px;padding-bottom:20px}
 .appearance-editor h2{font-size:16px;margin-bottom:6px}
 .appearance-editor h3{margin-top:14px}
 .training-tabs{margin:16px 0}
 .timer-panel{padding:20px 16px;margin:14px 0}
 .timer-clock{margin:12px 0}
 .empty{padding:24px 14px}
 .empty h2{font-size:28px;margin:12px 0 10px}
 dialog:not(.reaction-dialog):not(.photo-viewer):not(.post-photo-sheet):not(.profile-crop-dialog)>h2{font-size:28px;line-height:1.1;margin:6px 28px 12px 0}
}
@media(max-width:350px){#app{padding-left:16px;padding-right:16px}#app>h1.compact{font-size:29px}#app>h1{font-size:34px}.hero .time{font-size:64px}}
@media(max-width:700px){.stats{padding:16px 0;gap:22px}.chips{margin:12px 0}.person{padding-top:14px;padding-bottom:14px;min-height:56px}}
/* Message long-press menu: reactions and compact native-style action rows. */
dialog.message-context-menu{position:fixed;inset:auto;width:344px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);margin:0;padding:6px;border-radius:16px;border:1px solid #daddd2;box-shadow:0 12px 40px #0003;overflow:auto}dialog.message-context-menu::backdrop{background:#171b1640}dialog.message-context-menu>.close,dialog.message-context-menu>.button-stack{display:none}dialog.message-context-menu>h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;margin:0}dialog.message-context-menu .message-context-preview{font-size:11px;color:#626b5d;line-height:1.4;margin:6px 9px 2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}dialog.message-context-menu .reaction-picker{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));margin:4px 0 6px;padding:0;gap:0}dialog.message-context-menu .reaction-choice{height:44px;min-height:44px;width:100%;font-size:25px;border-radius:10px}dialog.message-context-menu .reaction-choice:focus:not(:focus-visible){outline:none}dialog.message-context-menu .reaction-choice:focus-visible{outline:2px solid #526b20;outline-offset:-3px}.message-context-actions{border-top:1px solid #daddd2}.message-context-action{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:44px;padding:10px 12px;border:0;border-bottom:1px solid #e0e3d9;background:none;color:#171b16;text-align:left;font:500 13px Manrope,sans-serif}.message-context-action:last-child{border-bottom:0}.message-context-action .icon{width:19px;height:19px;flex:0 0 19px}.message-context-action.message-delete{color:#b02d22}.message-context-action:hover,.message-context-action:active{background:#e9eddf;border-radius:8px}
dialog.message-context-menu:focus{outline:none}
/* Keep the reaction trigger circular despite the global 44px button minimum. */
.message-react-trigger{width:28px;height:28px;min-width:28px;min-height:28px;max-width:28px;max-height:28px;flex:0 0 28px;aspect-ratio:1;padding:5px;line-height:1;border-radius:50%}
/* Circular controls share a fixed square box; flex and global minimums cannot stretch it. */
:is(.ib,dialog .close,.message-react-trigger,.avatar-color-choice,.post-photo-grid button,.photo-viewer button:not([data-viewer="zoom"])){box-sizing:border-box;width:var(--circle-size,44px);height:var(--circle-size,44px);min-width:var(--circle-size,44px);min-height:var(--circle-size,44px);max-width:var(--circle-size,44px);max-height:var(--circle-size,44px);flex:0 0 var(--circle-size,44px);aspect-ratio:1;border-radius:50%;padding:0;line-height:1;align-items:center;justify-content:center}
.ib,dialog .close,.message-react-trigger,.avatar-color-choice{display:inline-flex}
.conversation-header .ib{--circle-size:36px}.post-photo-trigger{--circle-size:40px}.message-react-trigger,.post-photo-grid button{--circle-size:28px}.avatar-color-choice{--circle-size:34px}
:is(.ib,dialog .close,.message-react-trigger,.avatar-color-choice,.photo-viewer button)>.icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;line-height:1}
:is(.ib,.message-react-trigger,.photo-viewer button) svg{display:block;flex-shrink:0}
.avatar-color-choice>span{flex:0 0 26px;width:26px;height:26px;aspect-ratio:1}
.reaction-picker .reaction-choice{width:min(38px,100%);height:auto;min-height:0;aspect-ratio:1;justify-self:center;border-radius:50%;line-height:1;padding:0}
dialog.reaction-dialog .reaction-picker .reaction-choice{width:min(38px,100%);height:auto;min-height:0;aspect-ratio:1}
dialog.message-context-menu .reaction-picker .reaction-choice{width:100%;height:44px;min-height:44px;aspect-ratio:auto;border-radius:10px}
dialog.message-context-menu>.close{display:none}

/* Venue discovery: one map and one matching result list. */
.gyms-map-section{margin:18px 0 8px}.gyms-map-heading{margin-bottom:10px;gap:12px}.gyms-map-heading strong{font-size:14px}.gyms-map-heading .text-button{font-size:12px;padding:8px 0;min-height:32px}
#gyms-map{height:260px;border-radius:12px;background:#e4e8de;isolation:isolate;z-index:0}.gyms-map-section>p{margin:8px 0;font-size:11px;line-height:1.5}
.gym-map-pin{border:0;background:none}.gym-map-pin span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--accent-paint,var(--lime));border:2px solid #171b16;color:#171b16;font:800 13px Manrope,sans-serif;box-shadow:0 2px 6px #171b1633}.gym-map-pin:focus-visible{outline:3px solid #171b16;outline-offset:4px;border-radius:50%}
.gym-map-popup{font-family:Manrope,sans-serif;min-width:150px}.gym-map-popup strong{font-size:14px}.gym-map-popup small{display:block;margin-top:5px;color:#626b5e}.gym-map-popup a{display:block;margin-top:12px;color:#171b16;font-weight:700;padding:5px 0}
[data-gym-card]{transition:border-color .15s}[data-gym-card].map-selected{border-color:#687958}.gym-locate{display:grid;place-items:center;width:40px;height:40px;padding:0;flex:0 0 40px}.gym-locate .icon{display:flex}
@media(max-width:400px){#gyms-map{height:230px}}
.gym-nearby-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.gym-nearby-controls .btn{width:auto;display:inline-flex;align-items:center;gap:8px;margin:0}.gym-nearby-controls label{display:flex;align-items:center;gap:8px;font-size:12px}.gym-nearby-controls select{width:auto;min-height:38px;padding:6px 10px}.gym-location-status{margin:8px 0 16px!important}.gym-directions{display:inline-flex!important;align-items:center;gap:8px;min-height:40px;font-size:12px!important}.gym-directions .icon{width:18px;height:18px}.gym-empty{padding:16px 0}.gym-empty .row{flex-wrap:wrap;gap:12px}
/* Approved map appearances: neutral light / dark, no cream tint. */
.map-night{background:#232323!important}.map-night .leaflet-control-zoom a{background:#252824;color:#f6f7f0;border-color:#444940}.map-night .leaflet-popup-content-wrapper,.map-night .leaflet-popup-tip{background:#252824;color:#f6f7f0}.map-night .gym-map-popup small{color:#c2c9ba}.map-night .gym-map-popup a{color:var(--lime)}.map-night .leaflet-control-attribution{background:#252824eb;color:#c2c9ba}.map-night .leaflet-control-attribution a{color:#e2e8da}
.gym-gallery{margin:18px 0 22px}.gym-photo-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:12px;scrollbar-width:none;overscroll-behavior-x:contain}.gym-photo-track::-webkit-scrollbar{display:none}.gym-photo-slide{position:relative;flex:0 0 100%;width:100%;min-width:100%;aspect-ratio:16/10;min-height:0;padding:0;border:0;background:#e5e8df;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;cursor:zoom-in}.gym-photo-slide img{display:block;width:100%;height:100%;object-fit:cover}.gym-photo-slide img[hidden]{display:none}.gym-photo-fallback{position:absolute;inset:0;display:grid;place-items:center;color:#626b5e;font-size:13px}.gym-photo-fallback[hidden]{display:none}.gym-gallery-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}.gym-gallery-bar>a{font-size:10px;color:#626b5e}.gym-gallery-bar>div{display:flex;align-items:center;gap:6px}.gym-gallery-bar .ib{--circle-size:32px;background:transparent;border:1px solid #d7ddcf}.gym-gallery-bar .ib:disabled{opacity:.3;cursor:default}.gym-photo-count{font-size:11px;min-width:36px;text-align:center}.gym-photo-track:focus-visible{outline:2px solid #617d2c;outline-offset:3px}

/* System appearance: no in-app toggle. Photos, avatars and selected covers keep their own colors. */
:root{color-scheme:light}
@media(prefers-color-scheme:dark){
:root{color-scheme:dark;--ink:#f1f3eb;--paper:#171a16;--muted:#b2b9aa;--line:#373e32;--surface:#22271f;--bad:#ffaaa0}
body{background:#10130f}#app-shell{box-shadow:0 0 0 1px #ffffff0a}.demo-bar{background:#242a20;color:#bcc5b1}
.card,.bubble:not(.me),.brand-proposal{background:var(--surface);border-color:var(--line)}
input,textarea,select,.field input,.field textarea,.field select,.chat-input input,.chat-input textarea,.aside-select{background:var(--surface);border-color:#57624d;color:var(--ink)}input::placeholder,textarea::placeholder{color:#9ca592;opacity:1}.checks input,.photo-hd-toggle input,.crop-sliders input{accent-color:var(--lime)}option{background:var(--surface);color:var(--ink)}
.btn,.hero,.profile-cover,.pill.lime,.bubble.me,.success-mark,.auth-hero em,.friend-request-actions .friend-accept,.reaction-choice:hover,.reaction-choice[aria-pressed="true"],.brand-approve.is-approved{color:#171b16}
.btn.dark{background:#e5eadb;color:#171b16}.hero .btn.dark{background:#171b16;color:#f6f7f0}.btn.outline{color:var(--ink);border-color:#65715a;background:transparent}.btn.danger{background:#3a2420;border-color:#8b5147;color:#ffb3a9}
.hero .tiny,.hero .muted,.hero .meta,.bubble.me .tiny{color:#43502c}.bubble.me .message-quote{color:#171b16;background:#171b1614;border-color:#607438}.bubble.me .message-quote .tiny{color:#43502c}
.badge,.message-badge{background:var(--accent-paint,var(--lime));color:#171b16}.chip{border-color:#65715a}.chip.active,.chip[aria-pressed=true],.days .active{background:#e5eadb;color:#171b16;border-color:#e5eadb}.pill{background:#303927;color:#dce5ce}.pill.warn{background:#3e3320;color:#f2d28d}.pill.bad{background:#402824;color:#ffb3a9}
.avatar{background:#35402c;color:#e2eacb}.avatars .avatar{border-color:var(--paper)}.profile-avatar-edit:after{background:var(--accent-paint,var(--lime));color:#171b16;border-color:var(--paper)}
.callout,.notice,.filter-panel,.custom-cover-panel,.pro-metrics div{background:#293122;border-color:#788b61;color:var(--ink)}.notice.warn{background:#382e1e;border-color:#bc9953;color:#f0dba8}.activity-event{background:#303927}.activity-avatar .avatar{background:#35402c}.activity-dot{background:var(--accent-paint,var(--lime))}
.activity-time,.activity-status,.activity-open,.activity-event span,.track-stats span,.shared-activity-heading time,.photo-sheet-options small,.photo-hd-toggle small,.gym-photo-fallback,.gym-gallery-bar>a,dialog.message-context-menu .message-context-preview{color:var(--muted)}
.activity-read,.invitation-status{color:#c3e69e}.invitation-update,.draft-label{color:#edcc83}.liked,.danger-text,.message-own-actions .message-delete,.message-context-action.message-delete{color:#ffaaa0}
.attachment-option:hover,.friend-request-actions .friend-decline:hover,.message-react-trigger:hover,.message-react-trigger:focus-visible,.message-context-action:hover,.message-context-action:active,.home-shortcuts>a:active{background:#303927}
.attachment-preview,.invitation-card,.message-reaction-chip,.bubble.deleted-message,.bubble.deleted-message.me,.approved-banner-choice,dialog.message-context-menu,.shared-activity,.brand-proposal{border-color:var(--line)}.message-quote{background:#ffffff0b;border-color:#82916e}.shared-activity,.message-context-action{color:var(--ink)}
.home-shortcuts>a>.icon,.shortcut-link>.icon{color:#b1c39b}.home-shortcuts>a:hover,.shortcut-link:hover{color:var(--lime)}
.sport-avatar-choice.selected{background:#303927;border-color:var(--lime)}.avatar-color-choice[aria-pressed=true],.cover-preset.selected,.approved-banner-choice.selected{border-color:var(--lime)}.profile-crop-stage,.skeleton,.feed-post-photo,.post-photo-preview img,.post-carousel,.gym-photo-slide{background:#2a3025}.sheet-grip{background:#717e64}.brand-approve{border-color:#68765b}.brand-approve.is-approved{background:var(--accent-paint,var(--lime))}
#nav{border-color:var(--line)}#nav a{color:#b2bda5}#nav a.active{color:var(--ink)}#nav a.active .icon{color:#171b16}#toast{background:#e5eadb;color:#171b16}.summary-total{background:#303927;color:var(--ink)}
.rail-note,.scenario,.days,.gym-gallery-bar .ib{border-color:var(--line)}.scenario span{color:#b4c99a}.progress span{background:#39442e}.progress .active{background:var(--accent-paint,var(--lime))}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:#9bbdff}
[data-gym-card].map-selected{border-color:#bddb8f}.map-night path[stroke="#556b21"],.map-night path[stroke="#526b20"]{stroke:var(--lime)}.map-night .leaflet-control-attribution{background:#252824eb!important;color:#c2c9ba}.map-night .leaflet-control-attribution a{color:#e2e8da!important}
}
@media(prefers-color-scheme:dark){.chat-input button[aria-label="Envoyer le message"]{color:#171b16}.message-react-trigger{opacity:.85}}
.gym-photo-label{font-size:10px;color:var(--muted)}.gym-detail-section{border-bottom:1px solid var(--line);padding:4px 0}.gym-detail-section>summary{font-size:13px;padding:14px 0}.gym-detail-section ul{padding-left:20px;font-size:12px;line-height:1.9;color:var(--muted)}.gym-hours{margin:0 0 10px}.gym-hours>div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;font-size:12px}.gym-hours dt{color:var(--muted)}.gym-hours dd{margin:0;text-align:right}.gym-offer{padding:12px 0;border-bottom:1px solid var(--line)}.gym-offer:last-of-type{border:0}.gym-offer>div{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.gym-offer h3{font-size:12px;font-weight:600}.gym-offer strong{font-size:13px;white-space:nowrap}.gym-offer small{font-size:10px;font-weight:400;color:var(--muted)}.gym-offer p{font-size:11px;color:var(--muted);margin-top:7px}.gym-data-note{margin:10px 0}.gym-native-details>.section{margin-top:18px}
/* The profile tab uses the saved photo/avatar and its existing crop. */
#nav a[href="#profile"]>.avatar{width:26px;height:26px;min-width:26px;min-height:26px;max-width:26px;max-height:26px;flex:0 0 26px;aspect-ratio:1;border-radius:50%;font-size:9px;position:relative;overflow:hidden}
#nav a[href="#profile"]>.avatar svg{width:19px;height:19px}
#nav a[href="#profile"].active>.avatar{outline:2px solid var(--lime);outline-offset:3px}
/* Reuse the member identity at every size, including the latest sent message. */
[data-member-avatar="me"]{aspect-ratio:1;flex-shrink:0;overflow:hidden}
.message-self-avatar{display:inline-flex;vertical-align:middle;margin-right:5px}
.message-self-avatar>.avatar{width:18px;height:18px;min-width:18px;min-height:18px;max-width:18px;max-height:18px;flex:0 0 18px;font-size:7px;border:0}

[data-open-avatar-photo]{cursor:zoom-in;touch-action:manipulation}
[data-open-avatar-photo]:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.photo-viewer [hidden]{display:none!important}

[data-open-cover-photo]{cursor:zoom-in;touch-action:manipulation}
[data-open-cover-photo]:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

.viewer-cover-surface{position:relative;flex:none;overflow:hidden;transform-origin:center;will-change:transform;pointer-events:none}

/* The page beneath stays in place as the fullscreen background fades. */
.photo-viewer{--viewer-shade:1;--viewer-chrome:1;background:rgba(16,18,15,var(--viewer-shade))}
.photo-viewer::backdrop{background:transparent}
.photo-viewer .viewer-toolbar,.photo-viewer .viewer-controls,.photo-viewer .viewer-help{opacity:var(--viewer-chrome)}
.photo-viewer.viewer-returning{transition:background-color 220ms ease-out}
.viewer-returning .viewer-stage>img,.viewer-returning .viewer-cover-surface{transition:transform 260ms cubic-bezier(.2,.8,.2,1)}
.viewer-returning .viewer-toolbar,.viewer-returning .viewer-controls,.viewer-returning .viewer-help{transition:opacity 220ms ease-out}
@media(prefers-reduced-motion:reduce){.photo-viewer.viewer-returning,.viewer-returning .viewer-stage>img,.viewer-returning .viewer-cover-surface,.viewer-returning .viewer-toolbar,.viewer-returning .viewer-controls,.viewer-returning .viewer-help{transition:none}}

.viewer-status{pointer-events:auto;text-align:center}
.photo-viewer .viewer-status button{display:inline-block;width:auto;min-width:90px;margin:10px auto 0;border:1px solid #6a7262;border-radius:8px;font-size:13px}
.viewer-status:empty{pointer-events:none}

.viewer-message-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;flex-shrink:0;opacity:var(--viewer-chrome)}
.viewer-message-meta>div{min-width:0;display:flex;flex-direction:column;gap:3px}
.viewer-sender{font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.viewer-sent-at{font-size:10px;color:#adb5a5}
.photo-viewer .viewer-message-meta [data-viewer="message"]{width:auto;max-width:none;min-width:110px;flex:0 0 auto;padding:0 10px;border:1px solid #596052;border-radius:8px;font-size:11px}
.viewer-returning .viewer-message-meta{transition:opacity 220ms ease-out}
@media(prefers-reduced-motion:reduce){.viewer-returning .viewer-message-meta{transition:none}}

.chat-media-dialog{width:min(100% - 24px,480px);max-height:85dvh}
.chat-media-content{max-height:60dvh;overflow-y:auto;overscroll-behavior:contain}
.chat-media-day{margin:0 0 20px}
.chat-media-day h3{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:600;margin:12px 0 9px}
.chat-media-day h3 span{font-size:11px;font-weight:400;color:var(--muted)}
.chat-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.chat-media-grid .chat-media-thumb{display:block;width:100%;height:auto;min-width:0;min-height:0;aspect-ratio:1;padding:0;border:0;border-radius:6px;background:var(--line);overflow:hidden;cursor:zoom-in}
.chat-media-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.chat-media-thumb:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.chat-media-links{border-top:1px solid var(--line);padding-top:12px;font-size:12px}

.home-advertising{margin:18px 0 8px}
.home-advertising-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 6px;color:var(--muted);font-size:9px;line-height:1.4}
.home-advertising-label>span:first-child{letter-spacing:.09em;text-transform:uppercase}
.home-advertising-banner{display:flex;align-items:center;gap:16px;min-height:88px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface,var(--paper));box-sizing:border-box}
.home-advertising-mark{flex-shrink:0;font-size:11px;font-weight:800;letter-spacing:-.4px;color:var(--muted)}
.home-advertising-mark>span{display:block;font-size:9px;letter-spacing:1px}
.home-advertising-banner>div{min-width:0;border-left:1px solid var(--line);padding-left:16px}
.home-advertising-banner strong{display:block;font-size:12px;font-weight:600;line-height:1.5}
.home-advertising-banner>div>span{display:block;margin-top:3px;font-size:10px;color:var(--muted)}

.feed-sponsored{padding-top:18px;padding-bottom:20px}
.feed-sponsored-heading{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.feed-sponsored-monogram{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-size:13px;font-weight:800}
.feed-sponsored-heading strong{display:block;font-size:12px;font-weight:600}
.feed-sponsored-heading>div>span{display:block;margin-top:2px;font-size:10px;color:var(--muted)}
.feed-sponsored-creative{display:flex;flex-direction:column;justify-content:center;gap:7px;min-height:110px;box-sizing:border-box;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface,var(--paper))}
.feed-sponsored-creative strong{font-size:17px;font-weight:700;line-height:1.3}
.feed-sponsored-creative span{font-size:10px;color:var(--muted)}

.fitnesspark-ad{display:block;width:100%;border-radius:8px;overflow:hidden;background:#15191c;line-height:0}
.fitnesspark-ad picture,.fitnesspark-ad img{display:block;width:100%}
.fitnesspark-ad img{height:auto;aspect-ratio:32/5;object-fit:contain}
.fitnesspark-ad:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

.fitnesspark-monogram{background:#15191c;color:#ffda00;border-color:#393d3e;font-style:italic}
.feed-sponsored .fitnesspark-ad{margin-top:2px}

.feed-sponsored-heading>div{flex:1;min-width:0}
.feed-sponsored-heading .feed-ad-menu{flex:0 0 44px;margin-left:auto;color:var(--muted);font-size:18px;border-radius:50%;padding:0}

#toast.toast-with-action{align-items:center;justify-content:space-between;gap:16px;padding-top:6px;padding-bottom:6px}
#toast.toast-with-action button{color:inherit;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px;flex:0 0 auto;padding:0 4px;min-height:44px}

.hidden-ad-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;border-bottom:1px solid var(--line);font-size:12px}
.hidden-ad-row>span{min-width:0;overflow-wrap:anywhere}
.hidden-ad-row button{flex-shrink:0;padding:0 4px}
#hidden-feed-ads:focus{outline:none}

.home-advertising-label .home-ad-demo{margin-left:auto}
.home-advertising-label .home-ad-menu{flex:0 0 44px;width:44px;height:44px;padding:0;color:var(--muted);font-size:18px;border-radius:50%;margin-right:-10px}
.home-advertising-label:has(.home-ad-menu){margin-top:-8px;margin-bottom:0;gap:8px}

dialog.ad-context-menu{position:fixed;inset:auto;margin:0;width:176px;max-width:calc(100vw - 16px);padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);box-shadow:0 6px 24px #0003}
dialog.ad-context-menu::backdrop{background:transparent}
dialog.ad-context-menu .ad-context-option{display:block;width:100%;min-height:40px;padding:9px 12px;text-align:left;font-size:12px;font-weight:500;border:0;border-radius:6px;background:transparent;color:inherit}
dialog.ad-context-menu .ad-context-option:hover{background:var(--paper)}
dialog.ad-context-menu .ad-context-option:focus-visible{outline:2px solid var(--muted);outline-offset:-2px}

dialog.ad-context-menu{width:var(--context-width,176px)}
dialog.ad-context-menu a.ad-context-option{text-decoration:none;box-sizing:border-box;line-height:22px}
dialog.ad-context-menu .ad-context-option.danger-text{color:var(--bad)}

.hidden-post-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.hidden-post-copy{flex:1;min-width:0}
.hidden-post-copy strong{font-size:12px;font-weight:600}
.hidden-post-copy p{font-size:11px;line-height:1.5;color:var(--muted);margin-top:3px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hidden-post-copy small{display:block;font-size:10px;color:var(--muted);margin-top:4px}
.hidden-post-row>button{flex:0 0 auto;max-width:100px;font-size:11px}
#hidden-feed-posts:focus{outline:none}

/* Consolidation: compact settings, search and state feedback. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.feed-search{display:flex;align-items:center;gap:10px;margin:12px 0 0}
.feed-search input{width:100%;min-width:0;min-height:42px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--surface);color:var(--ink);font-size:12px}
.feed-search button{flex-shrink:0}
.report-history-row{display:flex;gap:12px;align-items:flex-start;padding:15px 0;border-bottom:1px solid var(--line)}
.report-history-row>div{min-width:0;flex:1}
.report-history-row strong{font-size:12px;font-weight:600}
.report-history-row p{font-size:12px;line-height:1.5;margin:5px 0}
.report-history-row small,.report-local-note{color:var(--muted);font-size:10px;line-height:1.6}
.report-open{display:block;margin-top:7px;width:fit-content;min-height:32px;align-content:center}
.report-history-row>.menu-button{flex:0 0 44px}
#muted-chats-settings:focus{outline:none}
.draft-storage-note{margin:0 0 14px;line-height:1.6}
.draft-clear{display:flex;justify-content:flex-end;margin-top:8px}
dialog.ad-context-menu .ad-context-option{min-height:44px}
#network-notice{padding:9px 16px;border-bottom:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:10px;line-height:1.5}
#network-notice[hidden]{display:none}
/* Account screens reuse the validated compact visual language. */
.account-auth-links{display:flex;justify-content:space-between;gap:16px;margin:20px 0 28px;font-size:14px}
.account-error{color:var(--danger,#b52b2b);font-size:14px;margin:12px 0}
.account-error:empty{display:none}
#account-sync-status{font-size:11px;max-width:65%;text-align:right;text-decoration:none;line-height:1.5}
#account-password{margin-bottom:20px}
.social-signin{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0 8px}
.social-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-width:0;padding:0 8px;height:48px;border-radius:8px;font-size:14px;font-weight:600;border:1px solid #747775;background:#fff;color:#1f1f1f}
.social-button svg{width:20px;height:20px;flex:none}
.social-apple{background:#000;color:#fff;border-color:#555}
.social-availability{margin:8px 0;font-size:11px;color:var(--muted)}
.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;margin:22px 0}
.auth-divider::before,.auth-divider::after{content:'';height:1px;background:var(--line);flex:1}
.password-input-wrap{position:relative;width:100%}
.password-input-wrap input{width:100%;padding-right:48px}
.password-visibility{position:absolute;right:2px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent;color:var(--muted);border-radius:6px}
.password-visibility .icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center}
.password-visibility:hover{color:var(--ink)}

.account-auth-links-centered{justify-content:center;text-align:center;font-size:12px}
/* One spacing rhythm for sign-up, sign-in and account recovery. */
#app.account-auth-screen{padding-top:20px;padding-bottom:max(28px,env(safe-area-inset-bottom))}
#app.account-auth-screen .auth-logo{margin:4px 0 18px}
#app.account-auth-screen>h1{font-size:34px;line-height:1.02;margin:10px 0 8px}
#app.account-auth-screen>h1+.muted{margin-bottom:16px;line-height:1.5}
.account-auth-screen .social-signin{margin:0 0 6px}
.account-auth-screen .social-availability{margin:0;line-height:1.5}
.account-auth-screen .social-availability:empty{display:none}
.account-auth-screen .auth-divider{margin:14px 0}
.account-auth-screen #account-auth{display:grid;gap:12px}
.account-auth-screen .field{margin:0}
.account-auth-screen .field input{margin-top:6px;min-height:48px;padding:12px;font-size:16px}
.account-auth-screen .password-input-wrap{margin-top:6px}
.account-auth-screen .password-input-wrap input{margin:0;padding-right:48px}
.account-auth-screen #account-auth>.tiny{font-size:11px;line-height:1.5}
.account-auth-screen #account-auth>.tiny:empty{display:none}
.account-auth-screen .account-error{margin:0;line-height:1.5}
.account-auth-screen #account-auth>.btn{margin:0;min-height:48px}
.account-auth-screen .account-auth-links{margin:8px 0 12px;gap:0 20px;flex-wrap:wrap}
.account-auth-screen .account-auth-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:12px}
#app.account-auth-screen>.tiny{font-size:11px;line-height:1.55}
/* Account settings use the same compact form rhythm as authentication. */
#app.account-settings-screen{padding-top:20px}
.account-settings-screen .backrow{margin-bottom:12px}
#app.account-settings-screen>h1{margin:8px 0}
#app.account-settings-screen>h1+.muted{margin-bottom:12px;line-height:1.5}
.account-settings-screen .detail-line{padding:12px 0}
.account-settings-screen .section{margin:20px 0 10px}
.account-settings-screen>p.tiny{margin-top:6px;line-height:1.5;font-size:11px}
.account-settings-screen .social-signin{margin:0 0 6px}
.account-settings-screen .social-availability{margin:0;line-height:1.5}
.account-settings-screen .social-availability:empty{display:none}
.account-settings-screen #account-password{display:grid;gap:12px;margin:0 0 12px}
.account-settings-screen .field{margin:0}
.account-settings-screen .password-input-wrap{margin-top:6px}
.account-settings-screen .field input{margin:0;min-height:48px;padding:12px 48px 12px 12px;font-size:16px}
.account-settings-screen .account-error{margin:0;line-height:1.5}
.account-settings-screen #account-password>.btn{margin:0;min-height:48px}
.account-settings-screen #account-password>.tiny{font-size:11px;line-height:1.5}
.account-settings-screen .linklist .settings-action{min-height:48px;padding:12px 0}
.account-settings-screen .notice{margin-top:12px}
.account-settings-screen .notice .button-stack{margin-top:12px;gap:8px}
/* Profile editing and onboarding share the compact account form spacing. */
#app:has(>#profile-form){padding-top:20px}
#app:has(>#profile-form) .backrow{margin-bottom:12px}
#app:has(>#profile-form)>h1{margin:8px 0}
#app:has(>#profile-form)>h1+.muted{margin-bottom:16px;line-height:1.5}
#profile-form{display:grid;gap:12px}
#profile-form .field{margin:0;min-width:0}
#profile-form .field input,#profile-form .field select,#profile-form .field textarea{margin-top:6px;padding:12px;min-height:48px;font-size:16px}
#profile-form .field textarea{min-height:96px;line-height:1.5}
#profile-form .profile-sports{border:0;padding:0;margin:0;min-width:0}
#profile-form .profile-sports legend{padding:0;margin-bottom:6px}
#profile-form .profile-sports-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
#profile-form .checks{margin:0;min-height:44px;align-items:center;line-height:1.5}
#profile-form .checks input{margin:0}
/* Compact multi-select availability, retaining native keyboard and form behavior. */
#profile-form .availability-options{display:flex;flex-wrap:nowrap;gap:6px;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding:3px 3px 6px;scroll-padding-inline:3px;-webkit-overflow-scrolling:touch}
#profile-form .availability-options .availability-choice{flex:0 0 auto}
#profile-form .availability-choice{position:relative;display:inline-flex;align-items:center;min-height:44px;margin:0;cursor:pointer;touch-action:manipulation}
#profile-form .availability-choice input{position:absolute;width:1px;height:1px;padding:0;margin:0;opacity:0;clip-path:inset(50%);overflow:hidden}
#profile-form .availability-choice span{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font-size:12px;font-weight:600;line-height:20px;white-space:nowrap}
#profile-form .availability-choice input:checked+span{background:var(--accent-paint,var(--lime));border-color:var(--lime);color:#171b16}
#profile-form .availability-choice input:focus-visible+span{outline:3px solid #326bc5;outline-offset:2px}
#profile-form .availability-options+.muted{margin-top:6px}
.city-picker{padding:4px}
.city-picker input{width:100%;height:40px;min-height:40px;margin:0 0 5px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:16px}
.city-picker-list{max-height:min(220px,40dvh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
dialog.ad-context-menu .city-option{display:flex;align-items:center;justify-content:space-between;font-size:13px;min-height:40px;padding:8px 10px}
dialog.ad-context-menu .city-option[hidden]{display:none}
dialog.ad-context-menu .city-option[aria-pressed="true"]{background:var(--paper);font-weight:800}
.city-picker-empty{font-size:12px;color:var(--muted);padding:10px;margin:0}


#profile-form>.btn{margin:0;min-height:48px}
#profile-form .field input,#profile-form .field select{height:48px}
/* Event and group forms follow the compact profile/account rhythm. */
#app:has(>:is(#event-form,#group-form)){padding-top:20px}
#app:has(>:is(#event-form,#group-form)) .backrow{margin-bottom:12px}
#app:has(>:is(#event-form,#group-form))>h1{margin:8px 0}
#app:has(>:is(#event-form,#group-form))>h1+.muted{margin-bottom:16px;line-height:1.5}
:is(#event-form,#group-form){display:grid;gap:12px;min-width:0}
:is(#event-form,#group-form) .field{margin:0;min-width:0}
:is(#event-form,#group-form) .field :is(input,select,textarea){margin-top:6px;min-width:0;max-width:100%;padding:12px;min-height:48px;font-size:16px}
:is(#event-form,#group-form) .field :is(input,select){height:48px}
:is(#event-form,#group-form) .field textarea{min-height:96px;line-height:1.5}
:is(#event-form,#group-form) .field small{margin-top:6px;font-size:11px;line-height:1.5}
#event-form .pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}
:is(#event-form,#group-form) .error-text{margin:0;line-height:1.5}
:is(#event-form,#group-form) .notice{margin:0;padding:12px;line-height:1.5}
:is(#event-form,#group-form) .button-stack{margin:0;gap:8px}
:is(#event-form,#group-form) .btn{min-height:48px;margin:0}
/* Post composer: the same compact rhythm, including attached photos. */
#app:has(>#post-form){padding-top:20px}
#app:has(>#post-form) .backrow{margin-bottom:12px}
#app:has(>#post-form)>h1{margin:8px 0}
#app:has(>#post-form)>h1+.muted{margin-bottom:12px;line-height:1.5}
#app:has(>#post-form) .draft-storage-note{margin:0 0 12px;font-size:11px;line-height:1.5}
#post-form{display:grid;gap:12px;min-width:0}
#post-form .field{margin:0;min-width:0}
#post-form .field :is(textarea,select){margin-top:6px;min-width:0;padding:12px;font-size:16px}
#post-form .field textarea{min-height:96px;line-height:1.5}
#post-form .field select{height:48px;min-height:48px}
#post-form .feed-photo-controls{margin:0;gap:12px;min-height:44px}
#post-form .post-photo-grid{margin:0;gap:8px}
#post-form .photo-hd-toggle{margin:0;padding:10px 0;min-height:48px;gap:12px;border-color:var(--line)}
#post-form .photo-hd-toggle small{margin-top:4px;line-height:1.5}
#post-form .photo-hd-toggle input{flex-shrink:0}
#post-form>.tiny{font-size:11px;line-height:1.5}
#post-form .error-text{margin:0;line-height:1.5}
#post-form>.btn{margin:0;min-height:48px}
#app:has(>#post-form) .draft-clear{margin-top:8px}
#app:has(>#post-form) .draft-clear>.text-button{min-height:44px;font-size:12px}
#app:has(>#post-form)>.space{display:none}
#app:has(>#post-form)>.shortcut-link{margin-top:12px}

/* Accueil : icônes assorties aux accents fluo. */
#app:has(>.home-shortcuts:not(.page-shortcuts)) :is(.app-head .icon,.home-shortcuts>a>.icon,.empty>.icon,.pair .shortcut-link>.icon,.person>.icon){color:var(--lime);filter:drop-shadow(0 0 .35px #526047)}

.gym-social-section{padding:14px 0;border-bottom:1px solid var(--line)}.gym-social-section>p{margin:0 0 10px}.gym-social-links{display:flex;flex-wrap:nowrap;align-items:center;gap:12px;overflow-x:auto;padding:4px}.gym-social-links>a{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;text-decoration:none;color:var(--ink);background:var(--surface)}.gym-social-links>a:hover{background:var(--accent-paint,var(--lime));color:#171b16}.gym-social-links svg{display:block;width:24px;height:24px;flex:none}

/* Compact gym search: one field, explicit location permission on tap. */
#filter-form:has(.gym-search-field){margin-bottom:0}
.gym-search-label{display:block;font-size:12px;font-weight:600;margin-bottom:6px}
.gym-search-field{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden}
.gym-search-field input{flex:1;min-width:0;width:0;border:0!important;background:transparent;margin:0;min-height:46px;padding:10px 12px}
.gym-search-field button{display:grid;place-items:center;flex:0 0 46px;width:46px;height:44px;min-height:44px;padding:0;border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;color:inherit;cursor:pointer}
.gym-search-field button[aria-pressed="true"]{color:var(--lime)}
.gym-search-field button:disabled{opacity:.45}
.gym-search-field .icon{width:20px;height:20px}
.gym-search-context{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;margin:8px 0 16px}
.gym-search-context>span:last-child{margin-left:auto;font-size:11px}
.gym-search-context select{width:auto;min-height:36px;padding:4px 8px;font-size:12px;margin:0}
.gym-search-context .text-button{font-size:12px;margin-left:auto;min-height:36px}

.appearance-controls:has(>[data-profile-action="camera"][data-target="avatar"]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.appearance-controls:has(>[data-profile-action="camera"][data-target="avatar"])>.btn{width:100%;min-width:0;min-height:44px;margin:0;padding:10px 6px;font-size:12px}
.appearance-controls:has(>[data-profile-action="camera"][data-target="avatar"])>.text-button{justify-self:start;margin:0}

/* Bright avatar palettes retain dark ink in both device themes. */
.sport-avatar-choice>.avatar-initials-choice{background:var(--surface);color:var(--ink);border:1px solid var(--line);font-size:19px;font-weight:800}

/* Compact save dock, spaced above the app navigation. */
.appearance-savebar{bottom:calc(88px + env(safe-area-inset-bottom));gap:6px;padding:6px;margin:20px 0 8px;border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);border-radius:32px;background:color-mix(in srgb,var(--paper) 84%,transparent);-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);box-shadow:0 5px 22px #0002,inset 0 1px 0 #ffffff26;isolation:isolate}
.appearance-savebar>.btn{width:auto;min-width:0;min-height:44px;margin:0;border-radius:24px;padding:10px 16px;background:var(--accent-paint,var(--lime));color:#171b16;font-size:12px;line-height:1.3;box-shadow:inset 0 1px 0 #ffffff40}
.appearance-savebar>.text-button{flex:0 0 auto;min-height:44px;margin:0;padding:10px 12px;border-radius:24px;font-size:11px;text-decoration:none;color:var(--muted)}
.appearance-savebar>.text-button:hover{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink)}
@media(prefers-reduced-transparency:reduce){.appearance-savebar{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none}}

/* Keep map source credits readable without the optional library label. */
.leaflet-container .leaflet-control-attribution{font-size:9px;line-height:1.35;padding:2px 5px;max-width:100%;text-align:right}

.gym-native-details>.chips{display:flex;flex-wrap:nowrap;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;padding:2px 0 6px}
.gym-native-details>.chips::-webkit-scrollbar{display:none}
.gym-native-details>.chips>*{flex:0 0 auto;white-space:nowrap}

.gym-navigation{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0 4px}
.gym-navigation-link{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 13px;border:1px solid #46503b;border-radius:24px;background:#20261b;color:#f6f7f0!important;text-decoration:none!important;font-size:12px;font-weight:650;line-height:1.3;white-space:nowrap}
.gym-navigation-link svg{width:22px;height:22px;flex:0 0 22px;color:var(--lime)}
.gym-navigation-link:hover{background:#303927;border-color:var(--lime)}
.gym-map-popup .gym-navigation-link{font-size:11px;padding:8px 10px}
.gym-map-popup .gym-navigation-link>span{color:#f6f7f0}

/* Shared icon treatment across all app routes and overlays. */
:is(#app,#nav,#dialog,.photo-viewer,#toast) .icon{color:var(--lime)!important;filter:drop-shadow(0 0 .65px #354522)}
:is(#app,#dialog) .btn:not(.outline):not(.ghost) .icon,#nav a.active .icon,.session-hero .icon{color:#171b16!important;filter:none}
.gym-social-links>a{background:#20261b;color:var(--lime);border-color:#46503b}
.gym-social-links>a:hover{background:#303927;color:var(--lime)}
.gym-social-links svg{color:var(--lime)}
.photo-viewer .viewer-controls>button,.photo-viewer .viewer-toolbar>button{color:var(--lime)}

:is(#app,#dialog) :is(.ib,.menu-button,.close),.post-photo-grid button[data-post-photo="remove"]{color:var(--lime)}
#app .home-advertising-label .home-ad-menu,#app .feed-sponsored-heading .feed-ad-menu{color:var(--lime)}

/* Discreet save pill rather than a full-width fluorescent dock. */
.appearance-savebar{width:max-content;max-width:100%;margin-left:auto;gap:0;padding:3px;border-color:#46503b;background:#20261bf2;box-shadow:0 3px 12px #0002;border-radius:28px}
.appearance-savebar>.btn{flex:0 1 auto;display:inline-flex;align-items:center;gap:7px;background:transparent;color:var(--lime);box-shadow:none;padding:9px 13px;font-size:12px}
.appearance-savebar>.text-button{color:#c2c9ba;font-size:11px;padding:9px 11px;border-left:1px solid #46503b;border-radius:0 24px 24px 0}
.appearance-savebar>.text-button:hover{background:#303927;color:#fff}
@media(prefers-reduced-transparency:reduce){.appearance-savebar{background:#20261b}}

.appearance-savebar[hidden]{display:none}

/* Full palette gradient, with dark glyphs retained over bright filled controls. */
.accent-gradient :is(.icon svg,.gym-social-links svg,.gym-navigation-link svg) .accent-stroke{stroke:var(--accent-stroke)}
.accent-gradient :is(.icon svg,.gym-social-links svg,.gym-navigation-link svg) .accent-fill,.accent-gradient :is(.gym-social-links svg,.gym-navigation-link svg).accent-fill{fill:var(--accent-fill)}
.accent-gradient :is(.btn:not(.outline):not(.ghost),#nav a.active,.session-hero) .icon .accent-stroke{stroke:#171b16}
.accent-gradient :is(.btn:not(.outline):not(.ghost),#nav a.active,.session-hero) .icon .accent-fill{fill:#171b16}
.accent-gradient .appearance-savebar>.btn{background:var(--accent-paint);background-clip:text;-webkit-background-clip:text;color:transparent}
