:root{--bg:#fbfaf9;--paper:#fff;--surface:#f5f3f2;--surface2:#efeceb;--text:#212126;--muted:#8a858d;--line:#efebec;--accent:#d84d75;--accent2:#8c5de8;--pink:#fff1f4;--shadow:0 8px 38px rgba(38,28,47,.055);--radius:19px;--gradient:linear-gradient(125deg,#fa7869 0%,#e44e7b 46%,#8b66eb 100%);color-scheme:light}
body.dark{--bg:#121215;--paper:#1d1d22;--surface:#27272d;--surface2:#35353c;--text:#f5f3f6;--muted:#a7a2ad;--line:#35343a;--pink:#33202d;--shadow:0 8px 38px rgba(0,0,0,.18);color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b99bf4;outline-offset:3px}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}::selection{background:#f7cfdf}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#ddd6da;border-radius:20px}
.boot{height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px}.boot p{color:var(--muted)}.mark-lg{font-size:70px;font-weight:850;letter-spacing:-9px;background:var(--gradient);-webkit-background-clip:text;color:transparent}.mark-lg span{font-size:54px;margin-left:1px}
.layout{display:grid;grid-template-columns:266px minmax(0,1fr);min-height:100vh}.rail{position:sticky;top:0;min-height:100vh;height:100vh;padding:34px 22px 24px 27px;border-right:1px solid var(--line);background:var(--paper);display:flex;flex-direction:column;gap:31px;z-index:12}.brand{display:flex;align-items:center;gap:10px;padding:1px 13px;color:var(--text);font-size:31px;letter-spacing:-1.9px;font-weight:820;line-height:1.1}.brand i{width:12px;height:12px;background:var(--gradient);border-radius:50%;display:inline-block;transform:translate(-10px,9px)}.brand small{font-size:9px;font-weight:800;letter-spacing:2px;color:var(--muted);text-transform:uppercase;align-self:end;margin-bottom:5px}.mainnav{display:grid;gap:7px}.navbtn{width:100%;border:0;background:transparent;color:var(--text);display:flex;align-items:center;gap:16px;padding:14px 17px;border-radius:14px;font-size:14.5px;font-weight:530;text-align:left;transition:.2s}.navbtn:hover{background:var(--surface)}.navbtn.active{background:linear-gradient(90deg,rgba(236,105,128,.13),rgba(160,101,232,.08));color:var(--accent);font-weight:760}.navbtn svg{width:23px;height:23px}.navbtn .counter{margin-left:auto;border-radius:30px;background:var(--accent);color:white;padding:2px 7px;font-weight:700;font-size:10px}.rail-bottom{margin-top:auto;display:grid;gap:8px}.create-btn,.primary{background:var(--gradient);color:white;border:0;box-shadow:0 9px 22px rgba(216,77,117,.2);font-weight:720}.create-btn{padding:15px 17px;border-radius:15px;display:flex;align-items:center;gap:13px;justify-content:center}.create-btn svg{width:20px;height:20px}.rail-me{display:flex;gap:10px;align-items:center;border:1px solid var(--line);padding:11px;border-radius:16px;background:var(--bg)}.rail-me .name{font-weight:730;font-size:13px}.rail-me .handle{color:var(--muted);font-size:12px}.rail-me button{border:0;background:transparent;color:var(--muted);margin-left:auto;padding:3px}.shell{display:grid;grid-template-columns:minmax(0,640px) 304px;gap:52px;margin:auto;width:min(1076px,100%);padding:34px 42px 90px;align-items:start}.maincol{min-width:0}.rightcol{padding-top:7px;position:sticky;top:22px}.mobile-head,.mobile-bar{display:none}.pagetitle{font-size:24px;font-weight:820;letter-spacing:-.9px;margin:0 0 6px}.subheading{color:var(--muted);margin:0 0 25px;font-size:13px}.topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.topline h1{margin:0;letter-spacing:-1.1px;font-size:25px}.topline p{margin:6px 0 0;color:var(--muted)}
.avatar{border-radius:50%;background:linear-gradient(135deg,#fbc08e,#d16da8);color:white;display:inline-grid;place-items:center;font-weight:750;flex-shrink:0;overflow:hidden;object-fit:cover}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.sm{width:34px;height:34px;font-size:12px}.avatar.md{width:42px;height:42px;font-size:15px}.avatar.lg{width:55px;height:55px;font-size:20px}.avatar.xl{width:98px;height:98px;font-size:35px}.avatar.xxl{width:110px;height:110px;font-size:40px}.verified{display:inline-grid;place-items:center;margin-left:4px;color:#568be8;vertical-align:middle}.verified svg{width:15px;height:15px;fill:#568be8;stroke:white;stroke-width:2.4}
.stories{display:flex;gap:20px;align-items:start;padding:2px 0 25px;overflow:auto;scrollbar-width:none;border-bottom:1px solid var(--line);margin-bottom:25px}.stories::-webkit-scrollbar{display:none}.story{border:0;background:transparent;color:var(--text);display:flex;align-items:center;flex-direction:column;gap:8px;width:69px;min-width:69px;padding:0}.story .ring{width:68px;height:68px;display:grid;place-items:center;border:3px solid transparent;background:linear-gradient(var(--paper),var(--paper)) padding-box,var(--gradient) border-box;border-radius:50%;position:relative}.story.mine .ring{background:var(--surface);border:2px dashed #c9c1c6}.story .ring .avatar{width:56px;height:56px}.story-name{font-size:11px;max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.story-plus{position:absolute;bottom:-3px;right:-3px;background:var(--accent2);color:white;border:3px solid var(--paper);width:23px;height:23px;border-radius:50%;display:grid;place-items:center;font-size:14px}
.feed-switch{display:flex;align-items:center;gap:25px;margin-bottom:20px}.feed-switch button{background:none;border:0;color:var(--muted);font-weight:690;font-size:14px;padding:7px 1px 12px;border-bottom:2px solid transparent}.feed-switch button.active{color:var(--text);border-bottom:2px solid var(--accent)}.feed-switch .hint{margin-left:auto;color:var(--muted);font-size:11px}
.post{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);margin:0 0 22px;box-shadow:var(--shadow);overflow:hidden}.post-header{display:flex;align-items:center;gap:11px;padding:15px 18px}.userlabel{min-width:0;flex:1}.userlabel .name{font-size:13px;font-weight:775}.userlabel .meta{font-size:11px;color:var(--muted);margin-top:4px}.btn-icon{border:0;background:transparent;color:var(--text);display:inline-grid;place-items:center;width:35px;height:35px;border-radius:10px;flex-shrink:0}.btn-icon:hover{background:var(--surface)}.btn-icon svg{width:22px;height:22px}.post-image{width:100%;max-height:650px;aspect-ratio:1.17;object-fit:cover;background:var(--surface2)}.post-image.placeholder{display:grid;place-items:center;background:linear-gradient(145deg,#e9dff2,#f9e3d5);color:#775976}.post-actions{display:flex;gap:7px;padding:13px 14px 6px;align-items:center}.post-actions .liked{color:#e34e78}.post-actions .saved{color:var(--accent2)}.post-actions .spacer{flex:1}.post-info{padding:0 19px 17px}.likesline{font-weight:760;font-size:13px;margin:0 0 9px}.captionline{font-size:13px;line-height:1.7;overflow-wrap:anywhere}.captionline strong{margin-right:7px}.seecomments{margin-top:9px;border:0;background:none;padding:0;color:var(--muted);font-size:12.5px}.post-commentform{border-top:1px solid var(--line);padding:9px 17px;display:flex;gap:10px;align-items:center}.post-commentform input{flex:1;border:0;background:transparent;padding:10px 0;min-width:0;color:var(--text);outline:0}.post-commentform button{border:0;background:transparent;color:var(--accent);font-weight:730;font-size:12px}
.card-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 19px;font-size:14px}.card-heading h3{font-size:14px;margin:0;letter-spacing:-.2px}.muted{color:var(--muted)}.small{font-size:12px}.suggest{display:flex;gap:11px;align-items:center;margin-bottom:20px}.suggest .name{font-weight:730;font-size:12px}.suggest .caption{color:var(--muted);font-size:11px;margin-top:4px}.followlink{border:0;background:none;color:var(--accent);font-size:12px;font-weight:750;margin-left:auto}.right-me{padding:0 0 24px;border-bottom:1px solid var(--line);margin-bottom:23px}.right-me .name{font-size:13px}.right-me .caption{font-size:11px;color:var(--muted);margin-top:4px}.side-note{font-size:11px;color:var(--muted);line-height:1.7;margin-top:24px}.side-callout{background:linear-gradient(128deg,#fbecf0,#f0e9fa);border-radius:16px;padding:19px;color:#5f475a;margin-top:27px;overflow:hidden;position:relative}.side-callout:after{content:'✦';font-size:74px;color:#e4c7ee;position:absolute;right:-3px;bottom:-28px}.side-callout strong{display:block;font-size:15px;position:relative;z-index:1}.side-callout p{font-size:12px;line-height:1.6;max-width:200px;position:relative;z-index:1}
.empty{background:var(--paper);border:1px dashed var(--line);border-radius:17px;padding:52px 25px;text-align:center;color:var(--muted)}.empty svg{width:36px;height:36px;margin:0 auto 13px;color:var(--accent)}.empty h3{color:var(--text);font-size:17px;margin:0 0 8px}.empty p{margin:0 auto 19px;max-width:340px;line-height:1.65}.pill{background:var(--surface);border:1px solid var(--line);padding:9px 14px;border-radius:99px;font-weight:720;color:var(--text)}.primary{border-radius:12px;padding:12px 20px}.primary:hover,.create-btn:hover{filter:brightness(1.06)}.outline{border:1px solid var(--line);background:var(--paper);color:var(--text);border-radius:12px;padding:11px 16px;font-weight:690}.danger{color:#d33f54}.subtle{color:var(--muted)}.flex{display:flex;align-items:center;gap:11px}.between{justify-content:space-between}.flex-wrap{flex-wrap:wrap}.textcenter{text-align:center}
.searchfield{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:0 16px}.searchfield svg{color:var(--muted)}.searchfield input{width:100%;padding:16px 0;border:0;outline:0;background:transparent;color:var(--text)}.people-list{display:grid;gap:12px;margin-top:22px}.person-card{display:flex;align-items:center;gap:14px;background:var(--paper);border:1px solid var(--line);padding:14px 17px;border-radius:15px}.person-card .person-meta{flex:1;min-width:0}.person-card .person-meta strong{display:block}.person-card .person-meta span{font-size:12px;color:var(--muted);display:block;margin-top:3px}.section-title{font-size:16px;margin:27px 0 17px;font-weight:770}.explore-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;border-radius:11px;overflow:hidden}.explore-tile{position:relative;aspect-ratio:1;border:0;padding:0;background:var(--surface2);overflow:hidden}.explore-tile img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.explore-tile:hover img{transform:scale(1.06)}.tile-overlay{position:absolute;inset:0;background:linear-gradient(transparent 62%,rgba(0,0,0,.55));color:white;display:flex;justify-content:end;align-items:end;padding:11px;gap:5px;font-weight:700;font-size:12px}
.profile-hero{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:30px 28px;margin-bottom:21px}.profile-upper{display:flex;gap:28px;align-items:center}.profile-data{flex:1}.profile-handle{font-size:22px;font-weight:810;letter-spacing:-.6px}.profile-desc{font-size:13px;line-height:1.7;margin:19px 0 0;white-space:pre-wrap}.profile-stats{display:flex;gap:28px;margin:19px 0}.profile-stats strong{font-size:15px}.profile-stats span{font-size:12px;color:var(--muted)}.profile-buttons{display:flex;gap:8px;margin-top:13px;flex-wrap:wrap}.profile-grid-head{display:flex;gap:22px;border-top:1px solid var(--line);margin-top:25px;padding-top:17px;justify-content:center;color:var(--muted);font-weight:730;font-size:12px}.private-notice{padding:68px 20px;text-align:center}.private-notice svg{width:35px;height:35px;margin-bottom:10px}.private-notice h3{margin:0 0 7px}.private-notice p{color:var(--muted)}
.inbox{display:grid;grid-template-columns:238px 1fr;border:1px solid var(--line);border-radius:20px;background:var(--paper);min-height:610px;overflow:hidden}.inbox-sidebar{border-right:1px solid var(--line);padding:20px 10px}.inbox-title{display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:760;padding:0 10px 15px}.conversation{border:0;background:none;border-radius:12px;width:100%;display:flex;align-items:center;gap:9px;padding:10px;text-align:left;color:var(--text)}.conversation.active,.conversation:hover{background:var(--surface)}.conversation .name{font-weight:720;font-size:12px}.conversation .preview{font-size:11px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:135px}.chat{display:flex;flex-direction:column;min-width:0}.chat-top{height:67px;display:flex;gap:9px;align-items:center;border-bottom:1px solid var(--line);padding:11px 18px}.chat-messages{padding:20px;flex:1;overflow-y:auto;max-height:490px;display:flex;flex-direction:column;gap:10px}.bubble{max-width:75%;padding:11px 15px;border-radius:16px 16px 16px 4px;background:var(--surface);align-self:start;line-height:1.5;overflow-wrap:anywhere}.bubble.mine{color:white;background:var(--gradient);border-radius:16px 16px 4px 16px;align-self:end}.chat-compose{border-top:1px solid var(--line);display:flex;gap:10px;padding:13px}.chat-compose input{flex:1;min-width:0;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:30px;padding:12px 15px;outline:0}.chat-compose button{border:0;color:white;background:var(--gradient);border-radius:50%;width:43px;height:43px;display:grid;place-items:center}
.notice{display:flex;gap:12px;align-items:center;background:var(--paper);border:1px solid var(--line);padding:15px;border-radius:14px;margin-bottom:9px}.notice.unread{border-left:3px solid var(--accent)}.notice p{margin:4px 0;color:var(--muted);font-size:12px}.notice .body{flex:1}.notice .body strong{font-weight:760}.notice .notice-icon{color:var(--accent)}.notice .notice-icon svg{width:20px;height:20px}
.settings-card{background:var(--paper);border:1px solid var(--line);padding:25px;border-radius:20px}.field{display:grid;gap:8px;margin-bottom:17px}.field label{font-size:12px;font-weight:730}.field input,.field textarea{border:1px solid var(--line);border-radius:11px;padding:13px 14px;outline:none;background:var(--bg);color:var(--text);width:100%}.field textarea{resize:vertical;min-height:90px}.field small{color:var(--muted)}.toggleline{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:20px 0}.toggleline p{color:var(--muted);font-size:12px;line-height:1.5;margin:5px 0 0}.switch{width:46px;height:26px;background:#d0cbd2;border-radius:30px;border:0;position:relative;flex-shrink:0}.switch:before{content:'';position:absolute;width:20px;height:20px;border-radius:50%;background:white;left:3px;top:3px;transition:.2s}.switch.on{background:var(--gradient)}.switch.on:before{left:23px}
.modal-backdrop{position:fixed;inset:0;background:rgba(19,13,24,.65);backdrop-filter:blur(5px);z-index:50;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--paper);border-radius:23px;width:min(480px,100%);max-height:94vh;overflow:auto;box-shadow:0 30px 100px rgba(0,0,0,.25)}.modal.wide{width:min(620px,100%)}.modal-head{padding:20px 23px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-weight:790;font-size:17px}.modal-body{padding:22px}.uploadzone{display:grid;place-items:center;padding:28px;border:2px dashed #e4d8e4;border-radius:16px;background:var(--bg);min-height:185px;text-align:center;color:var(--muted);position:relative;cursor:pointer}.uploadzone input{position:absolute;inset:0;opacity:0;cursor:pointer}.uploadzone svg{width:38px;height:38px;color:var(--accent);margin-bottom:10px}.uploadzone p{margin:5px 0}.uploadzone img{object-fit:contain;max-height:300px;width:100%}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:15px}.story-viewer{position:relative;background:#080809;height:min(740px,85vh);display:grid;place-items:center;border-radius:20px;overflow:hidden}.story-viewer img{max-height:100%;width:100%;height:100%;object-fit:contain}.story-viewer .story-overlay{position:absolute;top:0;left:0;right:0;color:white;padding:20px;background:linear-gradient(rgba(0,0,0,.6),transparent);display:flex;align-items:center;gap:10px}.story-overlay .btn-icon{color:white;margin-left:auto}.story-progress{position:absolute;top:9px;left:15px;right:15px;height:3px;background:rgba(255,255,255,.38);border-radius:5px}.story-progress:before{content:'';display:block;width:50%;height:100%;background:white;border-radius:5px}.comment-row{display:flex;gap:10px;margin:15px 0;font-size:13px;line-height:1.6}.comment-row strong{margin-right:6px}
#toasts{position:fixed;bottom:30px;right:30px;z-index:100;display:grid;gap:8px}.toast{background:#242027;color:white;border-radius:12px;box-shadow:0 10px 38px #0003;padding:14px 19px;min-width:200px;max-width:370px;line-height:1.5}.toast.error{background:#9f2b45}
/* Ecrã de autenticação */
.auth-page{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:var(--paper)}.auth-art{background:#29202e;color:white;position:relative;overflow:hidden;min-height:100vh;padding:42px 53px;display:flex;flex-direction:column;justify-content:space-between}.auth-art::before{content:'';position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,#8a427c,transparent 68%);bottom:-330px;right:-250px;opacity:.65}.auth-wordmark{font-size:30px;letter-spacing:-1px;font-weight:800;position:relative;z-index:2}.auth-wordmark span{color:#f67d94}.auth-tagline{font-size:clamp(38px,4.3vw,67px);max-width:600px;line-height:1.08;letter-spacing:-2.6px;font-weight:820;position:relative;z-index:2;margin:30px 0}.auth-tagline em{font-style:normal;color:#ff92a1}.auth-caption{font-size:16px;color:#d0c2d0;max-width:420px;line-height:1.7;position:relative;z-index:2}.auth-collage{position:absolute;top:26%;right:-4%;width:77%;height:56%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:13px;transform:rotate(8deg);opacity:.45;mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 75%,transparent)}.auth-collage img{width:100%;height:100%;object-fit:cover;border-radius:22px}.auth-foot{font-size:12px;color:#c7b8c8;position:relative;z-index:2}.auth-main{display:grid;place-items:center;padding:35px 30px}.auth-card{width:min(390px,100%)}.auth-eyebrow{font-size:11px;letter-spacing:2.4px;text-transform:uppercase;font-weight:800;color:var(--accent);margin-bottom:9px}.auth-card h1{font-size:33px;letter-spacing:-1.3px;margin:0 0 9px}.auth-card .lead{color:var(--muted);line-height:1.65;margin:0 0 29px}.auth-card .field{margin-bottom:13px}.auth-card .field input{padding:15px;border-radius:12px}.auth-card .primary{width:100%;padding:15px;margin:11px 0}.auth-switch{color:var(--muted);font-size:13px;text-align:center;margin-top:22px}.auth-switch button{border:0;color:var(--accent);background:none;font-weight:760}.auth-preview{padding:13px 0;border-top:1px solid var(--line);margin-top:25px;text-align:center;color:var(--muted);font-size:12px}.auth-preview button{border:0;color:var(--accent2);background:none;font-weight:790}.auth-terms{font-size:11px;color:var(--muted);line-height:1.7;margin:15px 0}.demo-badge{background:var(--pink);color:var(--accent);padding:7px 12px;border-radius:25px;font-size:11px;font-weight:770}
@media(max-width:1330px){.layout{grid-template-columns:220px minmax(0,1fr)}.rail{padding:28px 13px}.shell{gap:29px;padding:29px 25px 80px;grid-template-columns:minmax(0,600px) 260px}}@media(max-width:1130px){.shell{grid-template-columns:minmax(0,650px);justify-content:center}.rightcol{display:none}.rail{width:220px}}
@media(max-width:800px){.layout{display:block}.rail{display:none}.shell{display:block;padding:70px 14px 99px;max-width:620px;margin:0 auto}.mobile-head{position:fixed;top:0;left:0;right:0;height:62px;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 18px;z-index:15}.mobile-head .brand{padding:0;font-size:26px}.mobile-head .head-actions{display:flex;gap:7px}.mobile-bar{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;background:var(--paper);border-top:1px solid var(--line);height:calc(65px + env(safe-area-inset-bottom));padding:0 7px env(safe-area-inset-bottom);z-index:15}.mobile-bar .navbtn{justify-content:center;padding:9px;width:49px;height:48px;border-radius:14px}.mobile-bar .navbtn span,.mobile-bar .navbtn .counter{display:none}.mobile-bar .navbtn svg{width:25px;height:25px}.mobile-bar .create-mobile{width:46px;height:46px;border-radius:16px;background:var(--gradient);color:white;border:0;display:grid;place-items:center}.profile-hero{padding:21px 18px}.profile-upper{gap:15px}.avatar.xxl{width:87px;height:87px;font-size:31px}.profile-handle{font-size:18px}.profile-stats{gap:14px}.inbox{grid-template-columns:1fr;min-height:65vh}.inbox-sidebar{border-right:0;border-bottom:1px solid var(--line);max-height:220px;overflow:auto}.chat-messages{max-height:380px}.auth-page{display:block}.auth-art{min-height:auto;height:210px;padding:23px;justify-content:start}.auth-art .auth-tagline{font-size:29px;letter-spacing:-1px;margin:28px 0 4px}.auth-caption,.auth-foot,.auth-collage{display:none}.auth-main{padding:43px 25px}.auth-card h1{font-size:29px}}
@media(max-width:490px){.shell{padding-left:0;padding-right:0}.topline,.feed-switch,.stories,.pagetitle,.subheading,.searchfield,.people-list,.section-title{margin-left:15px;margin-right:15px}.topline{padding:0 1px}.stories{gap:12px;padding:0 10px 17px}.story{width:65px;min-width:65px}.story .ring{width:64px;height:64px}.post{border-left:0;border-right:0;border-radius:0;box-shadow:none;margin-bottom:10px}.post-header{padding:12px 15px}.post-image{aspect-ratio:1.08}.post-info{padding:0 15px 14px}.profile-hero{border-radius:0;border-left:0;border-right:0;margin-bottom:0}.explore-grid{gap:2px;border-radius:0}.people-list{gap:8px}.person-card{padding:12px}.notice{border-radius:0;border-left:0;border-right:0}.settings-card{border-radius:0;border-left:0;border-right:0}.inbox{border-radius:0;border-left:0;border-right:0}.story-viewer{height:85vh}.modal-backdrop{padding:12px}.auth-art{height:170px}.auth-main{padding:30px 23px}}


/* ================================================================
   ELOMIO / AURA — identidade visual original v0.3 (13/10/2026)
   Destaques: petróleo + lima, cartões de momentos e feed editorial.
   Esta camada altera apenas o aspeto; mantém as classes e ações da v0.2.
   ================================================================ */
:root {
  --bg:#f3f7f4; --paper:#ffffff; --surface:#eaf3ee;
  --surface2:#ddece5; --text:#17332e; --muted:#69817b;
  --line:#dce9e1; --accent:#137966; --accent2:#2b8b7a;
  --pink:#e8f5eb; --shadow:0 14px 36px rgba(16,65,53,.065);
  --radius:24px; --gradient:linear-gradient(130deg,#116455,#258e79);
}
body.dark {
  --bg:#091d1a; --paper:#112c26; --surface:#1b3b33;
  --surface2:#24493e; --text:#eef8f1; --muted:#a6bdb3;
  --line:#315348; --accent:#87dec1; --accent2:#b6ec80;
  --pink:#1c4133; --shadow:0 16px 36px rgba(0,0,0,.2);
  --gradient:linear-gradient(130deg,#2b8a74,#176b5b);
}
body {background:var(--bg);font-size:14px}
.brand {font-size:28px;letter-spacing:-1.5px;gap:12px;font-weight:800;padding:0 12px}
.brand i {display:none}
.brand-period{color:#c9f27f}
.brand-symbol {width:36px;height:36px;display:block;position:relative;flex-shrink:0}
.brand-symbol span{position:absolute;width:21px;height:25px;border-radius:50%;border:4px solid #bdea81;transform:rotate(38deg);top:4px}
.brand-symbol span:first-child{left:2px}
.brand-symbol span:last-child{left:14px;border-color:#55c6ae}
.rail {background:#102f29;border-right:0;border-radius:0 28px 28px 0;padding:33px 20px 21px 22px;gap:23px}
.rail .brand{color:#f3fcf6}
.nav-eyebrow{font-size:10px;font-weight:850;letter-spacing:2.1px;color:#7ca699;margin:25px 14px 0}
.mainnav{gap:5px}
.rail .navbtn{color:#c1d9cc;font-weight:550;border-radius:14px;padding:13px 16px;gap:14px}
.rail .navbtn svg{width:21px;height:21px}
.rail .navbtn:hover{background:#1d473b}
.rail .navbtn.active{background:#d5efc4;color:#18372d;font-weight:800;box-shadow:inset 0 0 0 1px #ffffff66}
.rail .navbtn.active svg{color:#176658}
.rail .navbtn .counter{background:#bfe784;color:#18392c}
.rail-bottom{gap:11px}
.rail-note{background:linear-gradient(145deg,#224c3d,#215a4b);border:1px solid #386858;border-radius:21px;padding:17px 16px 14px;position:relative;overflow:hidden;color:#e3f3e9}
.rail-note-glow{position:absolute;font-size:86px;color:#b2dc72;right:-12px;top:-29px;opacity:.35}
.rail-note strong{font-size:14px;display:block;max-width:155px;line-height:1.3;position:relative}
.rail-note p{font-size:11px;line-height:1.6;max-width:170px;margin:8px 0 0;color:#b8dac9;position:relative}
.rail .create-btn {background:#c6ef88;color:#143e32;box-shadow:none;border-radius:14px;font-size:13px;padding:15px}
.rail .create-btn:hover,.hero-cta:hover{filter:brightness(.96);transform:translateY(-1px)}
.rail-me{background:#1a4136;border:1px solid #315748;color:#eaf6ec}
.rail-me .handle{color:#a7c5b6}
.rail-me button{color:#bedacd}
.layout{grid-template-columns:250px minmax(0,1fr)}
.shell{grid-template-columns:minmax(0,730px) minmax(240px,280px);width:min(1210px,100%);gap:37px;padding:29px 35px 90px}
.maincol{min-width:0}
.hello-hero{position:relative;overflow:hidden;display:flex;min-height:226px;border-radius:27px;color:#f9fff8;background:radial-gradient(circle at 90% 15%,#206d59 0%,transparent 50%),linear-gradient(125deg,#0e3d35,#175d4f 64%,#146b5c);padding:30px 32px 26px;margin-bottom:29px;isolation:isolate;box-shadow:0 12px 30px #0f554023}
.hero-content{max-width:410px;position:relative;z-index:2}
.hero-kicker{font-weight:760;letter-spacing:1.9px;font-size:9px;color:#d4edc9;display:flex;align-items:center;gap:9px}
.hero-kicker-dot{width:8px;height:8px;background:#c6ef86;border-radius:50%;box-shadow:0 0 0 4px #bee98427}
.hello-hero h1{font-size:clamp(31px,3.1vw,44px);letter-spacing:-1.9px;line-height:1.06;margin:19px 0 9px;max-width:440px}
.hello-hero h1 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:#c8f28e;white-space:nowrap}
.hello-hero p{font-size:13px;color:#d8eee4;margin:0 0 18px;max-width:340px;line-height:1.55}
.hero-cta{display:inline-flex;align-items:center;gap:14px;border:0;color:#173c2c;background:#c4eb88;border-radius:13px;padding:11px 15px;font-weight:800;font-size:12px;transition:.2s}
.hero-cta svg{width:17px;height:17px}
.hero-orbit{width:246px;height:246px;position:absolute;right:-20px;top:-4px;opacity:.95}
.orbit-ring{position:absolute;border:1px solid #ddf8c856;border-radius:50%;inset:12px}
.orbit-ring-two{inset:43px;border:2px dashed #d4efab55;transform:rotate(25deg)}
.orbit-middle{position:absolute;inset:79px;border-radius:50%;background:#bce789;color:#175747;box-shadow:0 0 0 13px #ffffff15,0 20px 55px #041f1770;display:grid;place-items:center;font-size:65px;line-height:1;font-weight:850;letter-spacing:-5px}
.orbit-middle span{font-size:29px;position:absolute;right:12px;bottom:20px}
.orbit-spot{position:absolute;width:24px;height:24px;border-radius:9px;transform:rotate(18deg);background:#9fdcb6;border:5px solid #185646}
.orbit-spot.one{top:8px;left:95px}.orbit-spot.two{bottom:25px;left:8px;background:#eaf6aa}.orbit-spot.three{right:12px;bottom:48px;background:#6bcfc4}
.moments-section{margin:0 0 27px}
.moments-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:0 0 15px}
.eyebrow-mini{font-size:10px;font-weight:850;letter-spacing:1.7px;color:var(--accent);display:block}
.moments-heading h2,.feed-intro h2{font-size:23px;line-height:1.1;letter-spacing:-.8px;margin:5px 0 0;font-weight:830}
.moments-heading h2 span{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:500;color:var(--accent)}
.moments-duration{color:var(--muted);font-size:11px;display:flex;align-items:center;gap:5px;white-space:nowrap}
.moments-duration svg{width:14px;height:14px}
.stories{gap:11px;margin:0;padding:0 0 10px;border:0;align-items:start}
.story,.story.mine{width:102px;min-width:102px;gap:6px;align-items:stretch;text-align:left;position:relative}
.story .ring,.story.mine .ring{display:block;width:102px;height:121px;border:0;border-radius:17px;overflow:hidden;background:#c2dfd3;box-shadow:none;padding:0;position:relative}
.story .ring::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,#0f403b99);pointer-events:none}
.story.mine .ring{background:radial-gradient(circle at 20% 5%,#c5ed9b,#64bea5 85%);border:2px dashed #519c7c}
.story.mine .ring::after{background:linear-gradient(180deg,transparent,#236c5644)}
.story .ring img.story-visual{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.story:hover .ring img.story-visual{transform:scale(1.08)}
.story .story-story-avatar{position:absolute;top:7px;left:7px;z-index:2}
.story .story-story-avatar .avatar{width:27px;height:27px;border:2px solid #fff;font-size:10px}
.story .story-name{width:100%;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:11px;font-weight:720;padding-left:3px}
.story-my-avatar{position:absolute;top:17px;left:23px;z-index:1}
.story-my-avatar .avatar{width:52px;height:52px;border:3px solid #fff;font-size:17px}
.story-my-text{position:absolute;bottom:14px;left:9px;right:9px;color:#154b3e;font-weight:800;text-align:center;font-size:12px;line-height:1.2;z-index:2}
.story .story-plus{position:absolute;right:10px;top:42px;bottom:auto;width:28px;height:28px;background:#163e35;color:white;border:3px solid #d8efb7;border-radius:10px;z-index:3;display:grid;place-items:center}
.story .story-plus svg{width:14px;height:14px}
.feed-switch{display:flex;align-items:end;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:0 0 14px;margin:0 0 18px}
.feed-tabs{display:flex;gap:5px;background:var(--surface);padding:4px;border-radius:13px}
.feed-switch .feed-tabs button{border:0;padding:9px 13px;border-radius:10px;font-weight:750;font-size:12px}
.feed-switch .feed-tabs button.active{background:var(--paper);color:var(--accent);box-shadow:0 2px 8px #0b443112}
.post{border:1px solid var(--line);border-radius:24px;background:var(--paper);box-shadow:var(--shadow);overflow:hidden;margin:0 0 18px}
.post-header{padding:17px 18px;gap:10px}
.post-header .userlabel .name{font-size:13px}
.post-header .userlabel .meta{font-size:10px}
.post .post-image{background:var(--surface);object-fit:cover}
.post-actions{padding:13px 13px 8px}
.post-actions .btn-icon{width:33px;height:33px;border-radius:12px}
.post-actions .btn-icon:hover{background:var(--surface)}
.post-info{padding:0 17px 14px}
.likesline{font-size:12px;color:var(--accent);margin-bottom:8px}
.captionline{font-size:12px;line-height:1.55}
.post-commentform{padding:7px 15px;background:var(--surface);border-color:var(--line)}
.post-commentform input{font-size:11px}
.post-commentform button{font-size:11px}
.rightcol{padding:6px 0 0 7px}
.right-me{padding-bottom:23px;margin-bottom:23px}
.card-heading h3{font-size:14px}
.rightcol .followlink{color:var(--accent);font-weight:790}
.rightcol .followlink svg{width:12px;height:12px}
.side-callout{background:#153e34;border-radius:22px;padding:25px 22px 23px;min-height:260px;margin-top:29px;color:#e9f8ed;overflow:hidden;isolation:isolate;position:relative}
.side-callout::after{content:"";position:absolute;width:180px;height:180px;right:-90px;top:-60px;border-radius:50%;background:#83cba645;z-index:-1}
.side-callout .callout-emblem{color:#cdf18f;font-size:46px;display:block;margin-bottom:8px}
.side-callout small{display:block;font-weight:850;color:#96caaa;letter-spacing:1.7px;font-size:9px;margin-bottom:8px}
.side-callout strong{color:#f0faee;font-size:19px;line-height:1.25;max-width:220px;display:block}
.side-callout p{color:#b8d5c4;font-size:11px;max-width:220px;line-height:1.65;margin:11px 0 17px}
.side-callout button{background:#c5e992;color:#164437;border:0;font-weight:800;font-size:11px;display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;position:relative;z-index:2}
.side-callout button svg{width:15px;height:15px}
.side-note{font-size:10px;color:var(--muted)}
.primary,.create-mobile{background:var(--gradient);box-shadow:none}
.btn-icon:hover{color:var(--accent)}
.avatar{background:linear-gradient(130deg,#8acaa9,#2f9c80)}
.verified{color:var(--accent2)}
.verified svg{fill:#1b9b7f}
.profile-hero{position:relative;overflow:hidden;background:var(--paper);border-radius:24px;padding-top:36px}
.profile-hero::before{content:"";position:absolute;top:0;left:0;right:0;height:12px;background:linear-gradient(90deg,#1d7668,#afe484,#dff6ae)}
.profile-upper,.profile-desc,.profile-grid-head{position:relative}
.profile-buttons .primary{border-radius:12px}
.inbox,.settings-card,.notice{border-radius:22px}
/* Ecrã de autenticação com a nova identidade Elomio */
.auth-art{background:radial-gradient(circle at 50% 70%,#327b60 0%,transparent 65%),#123e34}
.auth-art::before{background:radial-gradient(circle,#6ec8a6,transparent 65%)}
.auth-wordmark span,.auth-tagline em{color:#c9f28a}
.auth-caption{color:#d1ebdb}
.auth-foot{color:#a7cbb5}
.auth-collage{opacity:.42;transform:rotate(7deg);filter:saturate(.68)}
.auth-card h1{color:var(--text)}
.auth-preview button{color:var(--accent)}
.demo-badge{color:#174b37;background:#d2efba;border:1px solid #b1da99;box-shadow:0 6px 20px #123a2c17}
@media(min-width:701px){
  .post{display:grid;grid-template-columns:minmax(0,49%) minmax(0,51%);grid-template-rows:auto minmax(55px,1fr) auto auto}
  .post-header{grid-column:2;grid-row:1;align-self:start}
  .post .post-image{grid-column:1;grid-row:1/5;width:100%;height:100%;min-height:330px;max-height:480px;aspect-ratio:auto;object-fit:cover}
  .post .post-actions{grid-column:2;grid-row:2;align-self:end}
  .post .post-info{grid-column:2;grid-row:3}
  .post .post-commentform{grid-column:2;grid-row:4;min-width:0}
}
@media(max-width:1330px){.layout{grid-template-columns:220px minmax(0,1fr)}.rail{padding-left:13px;padding-right:13px}.shell{gap:25px;grid-template-columns:minmax(0,660px) 240px;padding:28px 24px 80px}}
@media(max-width:1130px){.shell{grid-template-columns:minmax(0,740px);justify-content:center}.rightcol{display:none}}
@media(max-width:800px){
  .shell{padding:79px 15px 98px;max-width:740px}
  .mobile-head{height:66px;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);padding:0 17px}
  .mobile-head .brand{font-size:25px;gap:8px}
  .mobile-head .brand-symbol{transform:scale(.82)}
  .mobile-bar{height:calc(69px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(16px);border-top:1px solid var(--line)}
  .mobile-bar .navbtn{border-radius:15px}
  .mobile-bar .navbtn.active{background:#d9edcc;color:#195a4a}
  .mobile-bar .create-mobile{width:49px;height:49px;border-radius:17px;background:#195e50}
  .hello-hero{min-height:210px;padding:26px}
  .hero-orbit{right:4px;transform:scale(.83)}
}
@media(max-width:700px){
  .post{display:block}
  .post .post-image{width:100%;height:auto;aspect-ratio:1.12;max-height:none;min-height:0}
  .post-header{padding:13px 15px}
  .post .post-actions{padding:9px 13px 4px}
  .post-info{padding:0 16px 13px}
  .post-commentform{padding:6px 14px}
}
@media(max-width:490px){
  .shell{padding-left:12px;padding-right:12px;padding-top:77px}
  .hello-hero{border-radius:22px;margin:0 0 23px;min-height:214px;padding:25px 22px}
  .hero-content{max-width:320px}
  .hello-hero h1{font-size:33px;max-width:270px}
  .hello-hero h1 em{white-space:normal}
  .hello-hero p{font-size:11px;max-width:236px}
  .hero-cta{font-size:11px;padding:10px 12px}
  .hero-orbit{transform:scale(.6);right:-78px;top:-60px;opacity:.36}
  .moments-section,.feed-switch{margin-left:1px;margin-right:1px}
  .moments-heading{margin:0 0 12px}
  .moments-heading h2,.feed-intro h2{font-size:20px}
  .moments-duration{font-size:10px}
  .stories{gap:10px;margin-left:0;margin-right:0;padding:0 0 11px}
  .story,.story.mine{min-width:91px;width:91px}
  .story .ring,.story.mine .ring{width:91px;height:112px;border-radius:16px}
  .story-my-avatar{left:18px}
  .story-my-text{font-size:11px}
  .feed-switch{gap:8px;padding-bottom:13px}
  .feed-switch .feed-tabs button{padding:8px 10px;font-size:11px}
  .post{border:1px solid var(--line);border-radius:20px;margin-bottom:14px;box-shadow:var(--shadow)}
  .post-info{padding:0 15px 12px}
  .profile-hero{border:1px solid var(--line);border-radius:22px}
  .notice{border-radius:17px;border:1px solid var(--line)}
  .settings-card{border-radius:20px;border:1px solid var(--line)}
  .inbox{border-radius:21px;border:1px solid var(--line)}
  .auth-art{background:#133f35}
}
@media(prefers-reduced-motion:reduce){.story .ring img.story-visual,.hero-cta,.create-btn{transition:none}}

/* Elomio media v0.4: vídeos, grelhas e progresso */
.post-gallery{display:grid;gap:6px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));}
.post-video{background:#101d1a;min-height:220px;max-height:74vh;object-fit:contain;}
.tile-video{display:block;width:100%;height:100%;object-fit:cover;background:#102e29;}
.tile-video-flag{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.66);color:white;font-size:12px;padding:5px 9px;border-radius:16px;}
.story-video-thumb{display:grid!important;place-items:center;background:linear-gradient(150deg,#124335,#8ab866);color:white;font-size:25px;}
.story-viewer video{width:100%;height:100%;max-height:85vh;object-fit:contain;background:#080c0c;}
.upload-progress{margin:16px 0 4px;padding:12px;border-radius:10px;background:#e4f0e7;color:#1a4f42;font-weight:650;text-align:center;}
body.dark .upload-progress{background:#204d40;color:#e7f9e9;}

/* Elomio v0.5: botões e confirmação de email */
button:disabled {opacity:.6;cursor:wait;}
.resend-form {margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:14px;}
.resend-form label {display:block;font-size:.82rem;margin-bottom:9px;font-weight:600;}
.resend-row {display:flex;gap:9px;align-items:center;}
.resend-row input {flex:1;min-width:0;padding:10px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);}
.verification-status {min-height:70vh;display:grid;place-content:center;text-align:center;gap:12px;color:#173e35;}
.verification-status h1 {font-size:3rem;}
@media (prefers-reduced-motion: no-preference) {.btn-icon,.primary,.outline {transition:opacity .12s ease,background-color .14s ease,transform .14s ease;} .btn-icon:active:not(:disabled){transform:scale(.94);}}

/* Elomio v0.6 — confirmação de email e telemóvel */
.email-alert{display:flex;align-items:flex-start;gap:13px;background:var(--paper);border:1px solid #bcd7ca;border-left:4px solid #23816a;border-radius:16px;padding:17px 18px;margin-bottom:22px;box-shadow:var(--shadow)}
.email-alert-icon{color:var(--accent);flex-shrink:0;padding-top:3px}.email-alert-body{min-width:0;flex:1}.email-alert-body strong{font-size:14px;display:block}.email-alert-body p{font-size:12.5px;line-height:1.65;color:var(--muted);margin:6px 0 12px;overflow-wrap:anywhere}.email-alert-body .outline{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;font-size:12px}.email-alert-body .outline svg{width:15px;height:15px}
.auth-text-link{display:block;border:0;background:transparent;color:var(--accent);font-size:13px;font-weight:720;padding:5px 0 17px;text-align:left}.auth-card .field small{font-size:11px;line-height:1.4;color:var(--muted)}
@media(max-width:490px){.email-alert{margin:0 13px 20px;border-radius:15px;padding:14px}.email-alert-body p{font-size:12px}}

/* v0.7: gestão de email disponível exclusivamente nas Definições */
.email-settings{display:grid;gap:13px;min-width:0}
.email-settings-header{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}
.email-settings-header h3{font-size:15px;margin:0 0 5px;font-weight:760}
.email-settings-header p,.email-change-form>p,.email-hint{color:var(--muted);font-size:12px;line-height:1.65;margin:0}
.email-settings-header>svg{color:var(--accent);width:22px;flex-shrink:0}
.email-current{display:flex;align-items:center;gap:8px 15px;flex-wrap:wrap;overflow-wrap:anywhere}
.email-current>strong{font-size:13px}
.email-label{font-size:12px;color:var(--muted)}
.email-status{font-size:11px;padding:5px 8px;border-radius:20px;font-weight:700}
.email-status.email-ok{color:#0a6551;background:#e2f2e9}
.email-status.email-wait{color:#956313;background:#fff3d9}
.email-pending{border:1px solid #ebdbb5;background:#fff8e9;color:#54421c;border-radius:12px;padding:14px}
.email-pending strong{font-size:13px}.email-pending p{font-size:12px;margin:6px 0 0;overflow-wrap:anywhere;line-height:1.5}
.email-change-form{border-top:1px solid var(--line);padding-top:17px;margin-top:6px}
.email-change-form h4{font-size:14px;margin:0 0 6px}
.email-change-form .field{margin-top:14px;margin-bottom:12px}
@media(max-width:490px){.email-current{align-items:flex-start;flex-direction:column;gap:6px}}
/* Elomio v0.8 — Mensagens multimédia, recibos e modos temporários */
.dm-message{display:flex;flex-direction:column;align-items:flex-start;max-width:80%;gap:3px}
.dm-message.mine{align-self:flex-end;align-items:flex-end}
.dm-message .bubble{max-width:100%;font-size:14px}
.dm-receipt{font-size:10px;color:var(--muted);padding:0 6px}
.dm-attachment img,.dm-attachment video{display:block;max-width:min(330px,65vw);max-height:360px;border-radius:12px;object-fit:contain;background:#1d2220}
.bubble:has(.dm-attachment){padding:5px}
.dm-bomb{display:flex;gap:9px;align-items:center;font-weight:700;min-width:195px}
.dm-bomb small{font-weight:500;opacity:.8}
.dm-open-btn{background:rgba(255,255,255,.22);border:1px solid currentColor;color:inherit;border-radius:9px;padding:6px 10px;margin-top:10px;cursor:pointer}
.dm-open-btn:disabled{opacity:.6;cursor:not-allowed}
.dm-composer{border-top:1px solid var(--line)}
.dm-composer .chat-compose{border-top:0;padding-bottom:7px}
.dm-media-compose{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:0 13px 13px}
.dm-file-picker{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:12px;font-weight:700;background:var(--surface);padding:9px;border-radius:10px;color:var(--text)}
.dm-file-picker svg{width:18px;height:18px}
.dm-media-compose select{border:1px solid var(--line);border-radius:9px;background:var(--paper);padding:9px;color:var(--text);min-width:150px;max-width:100%}
.dm-upload-button{border:0;border-radius:9px;padding:10px 13px;background:var(--gradient);color:white;font-weight:700;cursor:pointer}
.dm-file-info{font-size:11px;color:var(--muted);overflow-wrap:anywhere;max-width:185px}
.dm-unread{background:#15816b;color:white;padding:1px 6px;border-radius:20px;font-size:10px}
.dm-viewer{position:fixed;inset:0;background:rgba(0,0,0,.95);display:flex;align-items:center;justify-content:center;z-index:500;padding:20px}
.dm-viewer-card{display:flex;align-items:center;flex-direction:column;gap:12px;max-width:95vw;max-height:95vh;color:#fff}
.dm-viewer-card p{text-align:center;font-size:13px;color:#dedede}
.dm-viewer-card img,.dm-viewer-card video{max-width:90vw;max-height:75vh;object-fit:contain}
.dm-viewer-close{align-self:flex-end;background:#1d2e28;border:1px solid #52685f;color:white;border-radius:9px;padding:10px 16px;cursor:pointer}
@media(max-width:600px){.dm-media-compose{align-items:stretch}.dm-media-compose select{flex:1}.dm-attachment img,.dm-attachment video{max-width:65vw}.dm-message{max-width:85%}}

/* Elomio v0.9 — experiência de câmara dedicada às DMs */
.dm-camera-trigger{display:flex;align-items:center;gap:12px;padding:4px 14px 15px;font-size:11px;color:var(--muted)}
.dm-camera-button{display:inline-flex;align-items:center;gap:9px;border:0;border-radius:28px;background:var(--accent,#168c71);color:#fff;padding:11px 18px;font-weight:800;cursor:pointer;font-size:13px;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.dm-camera-button svg{width:21px;height:21px;stroke-width:2}.dm-camera-button:hover{filter:brightness(1.08)}
body.cam-open{overflow:hidden}
.elomio-camera{position:fixed;inset:0;z-index:10000;background:#080b0d;color:#fff;display:flex;align-items:center;justify-content:center;overscroll-behavior:contain;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.elomio-camera *{box-sizing:border-box}
.cam-frame{position:relative;width:min(100%,680px);height:100%;max-height:100dvh;background:#121516;isolation:isolate;overflow:hidden}
.cam-live,.cam-review{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#1d211f}
.cam-live{transform:scaleX(-1)}
.cam-video-preview{width:100%;height:100%;object-fit:contain;background:black}
.cam-photo-canvas{display:block;width:100%;height:100%;object-fit:contain;touch-action:auto;cursor:default}
.cam-photo-canvas.drawing{touch-action:none;cursor:crosshair}
.cam-review{z-index:1}.cam-shade{pointer-events:none;position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(0,0,0,.52),transparent 22%,transparent 67%,rgba(0,0,0,.82))}
.cam-head,.cam-tools,.cam-bottom{position:absolute;z-index:3}
.cam-head{left:0;right:0;top:0;padding:calc(env(safe-area-inset-top,0px) + 16px) 21px 10px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.cam-head strong{font-size:24px;letter-spacing:-1px}.cam-head strong span{color:#b3eb89}
.cam-head button,.cam-tools button{display:flex;align-items:center;justify-content:center;background:rgba(25,27,26,.46);backdrop-filter:blur(14px);color:white;border:0;border-radius:50%;width:49px;height:49px;font-size:24px;cursor:pointer}
.cam-head button:hover,.cam-tools button:hover{background:rgba(80,80,80,.65)}
.cam-tools{right:14px;top:calc(env(safe-area-inset-top,0px) + 85px);display:flex;flex-direction:column;gap:12px}
.cam-tools button{font-weight:800;font-size:23px}.cam-tools button.active{background:#158b71}
.cam-bottom{left:0;right:0;bottom:0;padding:10px 18px calc(env(safe-area-inset-bottom,0px) + 23px)}
.cam-status{min-height:20px;text-align:center;color:#e8e8e8;font-size:12px;font-weight:600;margin:0 0 13px;text-shadow:0 1px 4px #111}
.cam-kind{display:flex;gap:24px;justify-content:center;margin:10px 0 24px}
.cam-kind button{border:0;background:transparent;color:#e8e8e8;opacity:.65;font-weight:800;letter-spacing:1.2px;font-size:12px;padding:8px;cursor:pointer}
.cam-kind button.active{color:#d4ffb6;opacity:1;border-bottom:2px solid #d4ffb6}
.cam-shotbar{display:flex;align-items:center;justify-content:space-around}
.cam-side-space,.cam-swap{width:52px}
.cam-shutter{width:85px;height:85px;border:4px solid #fff;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s}
.cam-shutter>span{width:69px;height:69px;border-radius:50%;background:#fff;transition:all .15s}
.cam-shutter:active{transform:scale(.94)}
.cam-shutter.video-mode>span{background:#f14946}.cam-shutter.recording>span{width:33px;height:33px;border-radius:8px}
.cam-shutter:disabled{opacity:.45;cursor:not-allowed}.cam-swap{border:0;border-radius:50%;color:#fff;background:rgba(50,55,54,.65);font-size:29px;height:52px;cursor:pointer}
.cam-hint{font-size:11px;line-height:1.5;color:rgba(255,255,255,.77);text-align:center;margin:17px 0 0}
.cam-actions{display:flex;gap:9px;align-items:center;justify-content:space-between}
.cam-actions button{border:0;cursor:pointer;font-size:13px;font-weight:760;padding:13px 12px;border-radius:28px;white-space:nowrap}
.cam-actions [data-cam=retake]{color:#fff;background:rgba(255,255,255,.16)}
.cam-viewmode{color:#fff;background:rgba(255,255,255,.1);min-width:118px}
.cam-actions .cam-send{background:#fff;color:#0d1110;padding:14px 19px}
.cam-actions button:disabled{opacity:.65;cursor:wait}
.cam-mode-menu{position:absolute;bottom:calc(100% - 10px);left:50%;transform:translateX(-50%);width:min(290px,92%);background:rgba(14,18,17,.97);box-shadow:0 12px 45px #0008;border:1px solid #ffffff36;border-radius:18px;padding:7px}
.cam-mode-menu button{display:flex;gap:10px;align-items:center;width:100%;border:0;border-radius:11px;background:transparent;color:white;padding:14px 13px;cursor:pointer;text-align:left;font-weight:700;font-size:14px}
.cam-mode-menu button:hover{background:#ffffff22}.cam-mode-menu button span{font-size:22px;min-width:30px;text-align:center}
.cam-frame .upload-progress{position:absolute;left:24px;right:24px;bottom:calc(env(safe-area-inset-bottom,0px) + 115px);z-index:10;background:#0b1414e8;color:white;border-radius:12px;padding:12px;text-align:center;font-weight:700}
@media(max-width:540px){.dm-camera-trigger>span{display:none}.cam-actions{gap:4px}.cam-actions button{font-size:12px;padding:13px 9px}.cam-viewmode{min-width:100px}.cam-head{padding-left:14px;padding-right:14px}.cam-tools{right:10px}}

.elomio-camera [hidden]{display:none!important}
.cam-review:not([hidden]){display:flex;align-items:center;justify-content:center}

/* Na pré-visualização, ferramentas na barra superior, como numa câmara de mensagens. */
.cam-frame:has(.cam-review:not([hidden])) .cam-head strong{display:none}
.cam-frame:has(.cam-review:not([hidden])) .cam-head [data-cam="flip"]{visibility:hidden}
.cam-tools:not([hidden]){top:calc(env(safe-area-inset-top,0px) + 16px);left:75px;right:17px;flex-direction:row;justify-content:space-between;gap:5px}
.cam-tools button{width:48px;height:48px;flex-shrink:0}
@media(max-width:420px){.cam-tools:not([hidden]){left:70px;right:9px}.cam-tools button{width:44px;height:44px;font-size:21px}}

/* Elomio v1.0: enquadramento vertical 9:16 sem zoom artificial. */
.elomio-camera{background:#090909;touch-action:pan-y}
.cam-frame{max-width:680px;width:100%;height:100dvh;max-height:100dvh;background:#0c0e0d}
.cam-live{object-fit:contain!important;object-position:50% 50%;background:#090909}
.cam-review{background:#090909}
.cam-review:not([hidden]){display:flex;align-items:center;justify-content:center}
.cam-photo-stage{position:relative;aspect-ratio:9/16;width:min(100%,56.25dvh);height:auto;max-height:100%;flex:none;overflow:hidden;background:#171717}
.cam-photo-canvas,.cam-draw-layer,.cam-overlay-stage{position:absolute;inset:0;width:100%;height:100%;display:block}
.cam-photo-canvas{object-fit:fill!important}
.cam-draw-layer{pointer-events:none;z-index:1;touch-action:none}
.cam-draw-layer.drawing{pointer-events:auto;cursor:crosshair}
.cam-overlay-stage{z-index:2;pointer-events:none}
.cam-movable{position:absolute;transform:translate(-50%,-50%);max-width:90%;cursor:grab;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none}
.cam-movable:active{cursor:grabbing}
.cam-movable-label{padding:3px 8px;border-radius:5px;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere;max-width:90vw;line-height:1.1;text-shadow:0 1px 2px #0007}
.cam-movable-remove{position:absolute;right:-19px;top:-24px;width:24px;height:24px;display:grid;place-items:center;background:#111a;color:#fff;border:1px solid #fff6;border-radius:50%;font-size:20px}
.cam-font-classic{font-family:system-ui,sans-serif;font-weight:750}
.cam-font-typewriter{font-family:Georgia,'Times New Roman',serif;font-weight:700}
.cam-font-strong{font-family:system-ui,sans-serif;font-weight:900;text-transform:uppercase}
.cam-font-meme{font-family:Impact,'Arial Black',sans-serif;font-weight:900;text-transform:uppercase}
.cam-font-elegant{font-family:Georgia,serif;font-style:italic}
.cam-font-emoji{font-family:'Apple Color Emoji','Segoe UI Emoji',sans-serif}
.cam-video-preview{width:100%;height:100%;object-fit:contain!important}
.cam-text-editor{position:absolute;inset:0;z-index:30;background:rgba(9,10,13,.86);backdrop-filter:blur(6px);display:flex;flex-direction:column;min-height:0}
.cam-edit-top{padding:calc(env(safe-area-inset-top,0px) + 14px) 15px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.cam-edit-top button,.cam-emoji-title button{background:#ffffff22;color:white;border:0;border-radius:20px;padding:10px 14px;font-size:16px;cursor:pointer}
.cam-edit-top button[data-cam=text-done]{background:white;color:#0c0c0c;font-weight:900}
.cam-edit-middle{flex:1;min-height:30px;display:flex;align-items:center;justify-content:center;padding:18px}
.cam-edit-input{width:100%;max-height:55%;border:0;outline:0;resize:none;text-align:center;line-height:1.24;font-weight:800;caret-color:#5daaff;padding:12px;border-radius:8px;box-shadow:none;max-width:100%;overflow-y:auto}
.cam-edit-input::placeholder{color:#bbb}
.cam-edit-bottom{padding:10px 12px calc(env(safe-area-inset-bottom,0px) + 20px);display:grid;gap:14px;background:linear-gradient(transparent,#080808 20%)}
.cam-font-choices{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:6px 0}
.cam-font-choices button{background:#222;color:white;border:1px solid #555;border-radius:11px;padding:12px 16px;white-space:nowrap;font-size:14px;font-weight:800}
.cam-font-choices button.active{background:white;color:#111}
.cam-edit-options{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cam-edit-options>span{font-size:12px;color:#ddd}
.cam-colors{display:flex;gap:5px;align-items:center;max-width:100%;overflow-x:auto}
.cam-colors button{width:24px;height:24px;border-radius:50%;border:2px solid #ffffff55;flex-shrink:0}
.cam-colors button.active{outline:2px solid white;outline-offset:1px}
.cam-bg-toggle{background:#222;color:white;border:1px solid #555;border-radius:9px;padding:8px}
.cam-bg-toggle.active{background:#fff;color:#111}
.cam-text-size{accent-color:white;flex:1;min-width:65px}
.cam-emoji-panel{position:absolute;z-index:25;left:0;right:0;bottom:0;background:#111;color:white;padding:18px 15px calc(env(safe-area-inset-bottom,0px) + 14px);border-radius:25px 25px 0 0;max-height:55%;overflow:auto;box-shadow:0 -10px 40px #0009}
.cam-emoji-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.cam-emoji-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.cam-emoji-grid button{font-size:27px;background:#ffffff12;border:0;border-radius:11px;padding:9px 3px;cursor:pointer}
.cam-shade{background:linear-gradient(180deg,rgba(0,0,0,.52),transparent 17%,transparent 72%,rgba(0,0,0,.78));pointer-events:none}
.cam-tools:not([hidden]){z-index:4}
.cam-bottom{z-index:4}
.dm-viewer{background:#000!important;z-index:9999!important;user-select:none;-webkit-user-select:none}
.dm-viewer .dm-timer{width:100%;height:5px;background:#ffffff36;border-radius:10px;overflow:hidden;margin:10px 0 14px}
.dm-viewer .dm-timer-fill{height:100%;width:100%;background:#dcfbb2;transform-origin:left center;transition:transform .12s linear}
.dm-viewer .dm-countdown{text-align:center;font-weight:800;color:#fff;font-variant-numeric:tabular-nums}
.dm-viewer img,.dm-viewer video{max-height:78dvh;object-fit:contain}
@media(max-width:540px){.cam-photo-stage{width:min(100%,56.25dvh)}.cam-emoji-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.cam-edit-middle{padding:9px}.cam-tools:not([hidden]){right:8px;left:65px}}

/* v1.1: vídeo/fotografia temporários em ecrã integral, sem transparências. */
.dm-viewer.dm-viewer-full{position:fixed;inset:0;padding:0!important;margin:0;background:#000!important;display:block;z-index:99990;overflow:hidden;touch-action:manipulation;user-select:none;-webkit-user-select:none}
.dm-viewer-full .dm-full-content{position:absolute;inset:0;width:100%;height:100%;height:100dvh;background:#000}
.dm-viewer-full .dm-full-content img,.dm-viewer-full .dm-full-content video{width:100%;height:100%;max-width:none!important;max-height:none!important;object-fit:cover!important;display:block;pointer-events:none;-webkit-user-drag:none}
.dm-viewer-top{position:absolute;top:0;left:0;right:0;padding:calc(env(safe-area-inset-top,0px) + 12px) 15px 16px;background:linear-gradient(#0009,transparent);z-index:3;color:#fff}
.dm-viewer-progress{height:3px;border-radius:5px;background:#ffffff70;overflow:hidden}
.dm-viewer-fill{height:100%;background:#fff;transform:scaleX(0);transform-origin:left center;transition:transform .1s linear}
.dm-viewer-details{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700;text-shadow:0 1px 3px #000;padding-top:9px}
.dm-viewer-full .dm-viewer-close{background:#0008;color:#fff;border:1px solid #ffffff55;border-radius:50%;height:42px;width:42px;padding:0;font-size:22px;cursor:pointer}
.dm-viewer-left{position:absolute;left:0;top:17%;height:66%;width:19%;border:0;background:transparent;z-index:2;touch-action:manipulation}
.dm-viewer-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#0009;color:#fff;border:1px solid #fff7;border-radius:24px;padding:12px 20px;z-index:4}
.dm-viewer-play[hidden]{display:none}
.dm-viewer-hint{position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 20px);left:0;right:0;text-align:center;color:#fff;font-size:12px;text-shadow:0 1px 3px #0009;pointer-events:none;z-index:2}
/* Melhor esforço: se a página detetar perda de visibilidade, o escudo cobre qualquer media. */
.dm-privacy-mask{position:fixed!important;inset:0!important;background:#000!important;color:#fff!important;z-index:2147483647!important;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;font:700 19px system-ui,sans-serif}
.dm-viewer-full,.dm-viewer-full *{-webkit-touch-callout:none}
.dm-viewer-full img,.dm-viewer-full video{-webkit-user-select:none;user-select:none}

/* Elomio 1.2 — Destaques */
.profile-highlights{display:flex;gap:16px;overflow-x:auto;padding:8px 2px 18px;margin:2px 0 12px;scrollbar-width:none}.profile-highlights::-webkit-scrollbar{display:none}
.profile-highlight{border:0;background:transparent;color:var(--text);display:grid;justify-items:center;gap:7px;min-width:72px;max-width:82px;font:inherit;font-size:11px;font-weight:700}.profile-highlight-ring{width:66px;height:66px;border-radius:50%;padding:3px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;overflow:hidden}.profile-highlight-ring img{width:100%;height:100%;border-radius:50%;object-fit:cover}.profile-highlight-ring svg{width:24px;height:24px;color:var(--accent)}
.highlight-backdrop{padding:0;background:#000}.highlight-viewer{position:relative;width:min(100vw,520px);height:100dvh;background:#000;overflow:hidden}.highlight-viewer img,.highlight-viewer video{width:100%;height:100%;object-fit:cover;display:block}.highlight-head{position:absolute;top:18px;left:16px;right:16px;display:flex;align-items:center;color:#fff;z-index:4;padding-top:12px}.highlight-head .btn-icon{margin-left:auto;color:#fff}.highlight-progress{position:absolute;top:10px;left:9px;right:9px;z-index:5;display:flex;gap:4px}.highlight-progress i{height:3px;flex:1;border-radius:4px;background:#ffffff55}.highlight-progress i.done{background:#fff}.highlight-nav{position:absolute;top:0;bottom:0;width:34%;border:0;background:transparent;z-index:3}.highlight-nav.prev{left:0}.highlight-nav.next{right:0}

/* Elomio legal links and account deletion (public launch preparation) */
.elomio-legal-settings{margin:25px 0;padding:17px;border-radius:16px;border:1px solid var(--line);background:rgba(110,120,170,.06)}.elomio-legal-settings h3{margin:0 0 5px}.elomio-legal-settings p{color:var(--muted);font-size:13px}.elomio-legal-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:9px;margin:15px 0 23px}.elomio-legal-links a{color:var(--text);text-decoration:none;border:1px solid var(--line);padding:11px;border-radius:11px;font-size:13px}.elomio-legal-links a:hover{border-color:var(--accent)}.elomio-auth-legal{font-size:12px;text-align:center;margin:16px 0}.elomio-auth-legal a{color:inherit;text-decoration:underline}