:root{
  --bg:#f6f9f8;--surface:#fff;--surface-2:#eef6f5;--surface-3:#e5f0ef;
  --text:#14211d;--text-2:#35443e;--muted:#6b7771;--muted-2:#98a39e;
  --line:#dde9e7;--line-strong:#c7d9d6;--accent:var(--brand-accent,#088484);--accent-dark:color-mix(in srgb,var(--accent) 82%,#000);--accent-soft:color-mix(in srgb,var(--accent) 10%,#fff);
  --teal:#088484;--teal-soft:#e6f4f4;--danger:#b42318;--danger-soft:#fff1f0;--warning:#b54708;--warning-soft:#fff7ed;
  --shadow-sm:0 1px 2px rgba(16,24,40,.03);--shadow-md:0 16px 42px rgba(16,24,40,.10);--shadow-dock:0 16px 42px rgba(16,24,40,.14);
  --safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}.hidden{display:none!important}.app-shell{width:min(100%,760px);min-height:100vh;margin:0 auto;background:var(--bg);position:relative}.topbar{position:sticky;top:0;z-index:50;height:calc(60px + var(--safe-top));padding:var(--safe-top) 18px 0;display:flex;align-items:center;justify-content:space-between;background:rgba(245,246,242,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(225,230,225,.88)}.brand{appearance:none;border:0;background:transparent;padding:0;color:var(--text);display:flex;align-items:center}.brand-word{font-size:21px;font-weight:830;letter-spacing:-.055em}.top-actions{display:flex;gap:7px}.icon-button{appearance:none;border:0;background:transparent;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:var(--text-2);transition:.16s ease}.icon-button:hover{background:var(--surface-2);color:var(--text)}.icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.badge-wrap{position:relative}.mini-badge{position:absolute;right:1px;top:1px;min-width:16px;height:16px;border-radius:99px;background:var(--danger);color:#fff;border:2px solid var(--bg);font-size:8px;font-weight:800;display:grid;place-items:center;padding:0 3px}.view{padding:22px 16px calc(108px + var(--safe-bottom));min-height:calc(100vh - 60px)}

/* Typography and layout */
.page-title{margin:3px 0 20px}.page-title h1{font-size:26px;line-height:1.1;letter-spacing:-.045em;margin:0}.page-title p{font-size:13px;color:var(--muted);line-height:1.55;margin:7px 0 0;max-width:580px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:28px 2px 12px}.section-head h2{font-size:15px;letter-spacing:-.02em;margin:0}.section-head p{font-size:11px;color:var(--muted);margin:4px 0 0}.link-btn{appearance:none;border:0;background:transparent;color:var(--accent);font-size:11px;font-weight:750;padding:4px}.stack{display:grid;gap:10px}.row{display:flex;align-items:center;gap:10px}.spread{display:flex;align-items:center;justify-content:space-between;gap:12px}.muted{color:var(--muted)}.small{font-size:11px}.tiny{font-size:9.5px}.card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}.panel{padding:16px}.divider{height:1px;background:var(--line);margin:14px 0}.pill{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:var(--surface-2);color:var(--text-2);font-size:9.5px;font-weight:700}.verified{width:14px;height:14px;border-radius:50%;background:var(--teal);color:#fff;display:inline-grid;place-items:center;font-size:9px;font-weight:900;vertical-align:middle}.source-chip{display:inline-flex;align-items:center;gap:5px;color:var(--teal);background:var(--teal-soft);border-radius:999px;padding:5px 8px;font-size:9.5px;font-weight:750}.source-chip svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2}.status-pending{color:var(--warning);background:var(--warning-soft)}.status-rejected{color:var(--danger);background:var(--danger-soft)}

/* Buttons / fields */
.primary,.secondary,.ghost,.danger-btn{appearance:none;border-radius:11px;padding:10px 14px;font-size:12px;font-weight:750;transition:.15s ease;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}.primary{border:1px solid var(--accent);background:var(--accent);color:#fff}.primary:hover{background:var(--accent-dark)}.secondary{border:1px solid var(--line-strong);background:var(--surface);color:var(--text)}.secondary:hover{background:var(--surface-2)}.ghost{border:0;background:transparent;color:var(--accent)}.danger-btn{border:1px solid #fecdca;background:#fff;color:var(--danger)}.full{width:100%}.button-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.field-wrap{display:grid;gap:6px}.field-wrap label{font-size:11px;font-weight:700;color:var(--text-2)}.field,.search-input{width:100%;appearance:none;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);border-radius:12px;padding:12px 13px;outline:none;font-size:13px;transition:border .15s,box-shadow .15s}.field:focus,.search-input:focus{border-color:#8a9ab0;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}textarea.field{min-height:132px;resize:vertical;line-height:1.55}.form{display:grid;gap:13px}.form-note{font-size:10.5px;line-height:1.55;color:var(--muted)}.check-row{display:flex;align-items:flex-start;gap:9px}.check-row input{margin-top:3px}.search-box{position:relative}.search-box svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:17px;height:17px;stroke:var(--muted);fill:none;stroke-width:1.9}.search-box .search-input{padding-left:40px;background:var(--surface)}

/* Avatar */
.avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;background:#e9edf2;flex:0 0 auto}.avatar.sm{width:34px;height:34px}.avatar.lg{width:88px;height:88px}.avatar.placeholder{display:grid;place-items:center;color:var(--accent);font-weight:800;background:var(--accent-soft)}.avatar-wrap{position:relative;display:inline-flex}.avatar-dot{position:absolute;right:0;bottom:1px;width:10px;height:10px;background:var(--teal);border:2px solid #fff;border-radius:50%}

/* Home: intentionally quiet */
.welcome-card{background:linear-gradient(135deg,#fff 0%,#edf3ef 100%);border:1px solid #dce6df;border-radius:22px;padding:22px;min-height:172px;display:flex;flex-direction:column;justify-content:space-between}.welcome-card .eyebrow{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:800}.welcome-card h2{font-size:24px;line-height:1.12;letter-spacing:-.045em;margin:12px 0 7px;max-width:500px}.welcome-card p{font-size:12.5px;line-height:1.55;color:var(--muted);margin:0;max-width:520px}.welcome-actions{margin-top:18px;display:flex;gap:8px;flex-wrap:wrap}.simple-notice{display:flex;gap:12px;align-items:flex-start;padding:14px 15px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.simple-notice .notice-icon{width:32px;height:32px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex:0 0 auto}.simple-notice svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9}.simple-notice b{font-size:12px}.simple-notice p{font-size:10.5px;line-height:1.5;color:var(--muted);margin:3px 0 0}

/* Suggestions */
.suggestions{display:grid;gap:8px}.suggestion{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:12px;display:flex;align-items:center;gap:11px}.suggestion .info{min-width:0;flex:1}.suggestion b{font-size:12px;display:flex;align-items:center;gap:4px}.suggestion .handle{font-size:10px;color:var(--muted);margin-top:2px}.suggestion .secondary,.suggestion .primary{padding:7px 11px;font-size:10.5px}

/* Wall / posts */
.wall-tabs{display:flex;gap:5px;background:var(--surface-2);padding:4px;border-radius:12px;width:max-content;margin-bottom:14px}.wall-tabs button{appearance:none;border:0;background:transparent;color:var(--muted);padding:7px 13px;border-radius:9px;font-size:10.5px;font-weight:700}.wall-tabs button.active{background:#fff;color:var(--text);box-shadow:0 1px 2px rgba(16,24,40,.06)}.composer{display:flex;align-items:center;gap:10px;padding:12px 13px;background:var(--surface);border:1px solid var(--line);border-radius:15px;margin-bottom:12px}.composer button{appearance:none;border:0;background:transparent;text-align:left;color:var(--muted);font-size:12px;flex:1;padding:8px 3px}.post-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden}.post-head{display:flex;align-items:center;gap:10px;padding:13px 14px 9px}.post-author{flex:1;min-width:0}.post-author strong{font-size:11.5px;display:flex;align-items:center;gap:4px}.post-author span{display:block;font-size:9.5px;color:var(--muted);margin-top:1px}.more-btn{appearance:none;border:0;background:transparent;color:var(--muted);width:32px;height:32px;border-radius:9px;display:grid;place-items:center}.more-btn svg{width:18px;height:18px;fill:currentColor}.post-body{padding:5px 14px 13px}.post-category{font-size:9px;color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.post-text{white-space:pre-wrap;font-size:14px;line-height:1.62;color:var(--text);margin:0}.post-media{width:100%;display:block;max-height:660px;object-fit:cover;background:#eef1f4}.post-source{margin-top:11px}.post-actions{display:flex;align-items:center;padding:7px 10px 9px;border-top:1px solid #f0f1f3}.post-action{appearance:none;border:0;background:transparent;height:38px;min-width:38px;padding:0 7px;color:var(--text-2);display:flex;align-items:center;gap:6px;border-radius:10px;font-size:10px;font-weight:650}.post-action:hover{background:var(--surface-2)}.post-action svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.post-action.active{color:var(--accent)}.post-action.active svg.heart{fill:var(--accent)}.post-spacer{flex:1}.post-meta-row{padding:0 14px 12px;color:var(--muted);font-size:9.5px}.create-page{max-width:600px;margin:0 auto}.create-page .panel{padding:18px}.moderation-banner{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:12px;font-size:10.5px;color:var(--muted);line-height:1.55}

/* Drop = inbox/chat */
.drop-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.drop-head h1{font-size:26px;letter-spacing:-.045em;margin:0}.drop-head p{font-size:11px;color:var(--muted);margin:4px 0 0}.inbox-list{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden}.conversation{appearance:none;border:0;border-bottom:1px solid var(--line);background:#fff;width:100%;padding:13px;display:flex;align-items:center;gap:11px;text-align:left}.conversation:last-child{border-bottom:0}.conversation:hover{background:#fafbfc}.conversation-copy{min-width:0;flex:1}.conversation-title{display:flex;align-items:center;gap:6px}.conversation-title b{font-size:12px}.conversation-preview{font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.conversation-side{text-align:right;display:grid;justify-items:end;gap:5px}.conversation-time{font-size:8.5px;color:var(--muted-2)}.unread-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.drop-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:9px;font-weight:800}.drop-badge.warning{background:var(--warning-soft);color:var(--warning)}.chat-view{margin:-22px -16px calc(-108px - var(--safe-bottom));min-height:calc(100vh - 60px);background:#f5f6f8;display:flex;flex-direction:column}.chat-top{position:sticky;top:calc(60px + var(--safe-top));z-index:20;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:9px 12px;display:flex;align-items:center;gap:9px}.chat-back{appearance:none;border:0;background:transparent;width:36px;height:36px;border-radius:10px;display:grid;place-items:center}.chat-back svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.chat-person{flex:1;min-width:0}.chat-person b{font-size:11.5px;display:block}.chat-person span{font-size:9px;color:var(--muted)}.thread{padding:18px 13px 110px;display:grid;gap:12px;flex:1}.thread-day{text-align:center;font-size:9px;color:var(--muted);margin:6px 0}.drop-message{max-width:87%;display:grid;gap:5px}.drop-message.mine{justify-self:end}.drop-message.theirs{justify-self:start}.drop-message-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:12px;box-shadow:var(--shadow-sm)}.drop-message.mine .drop-message-card{border-color:#d8e0eb;background:#f8fafc}.drop-message-card .shared-by{font-size:8.5px;color:var(--muted);margin-bottom:7px}.drop-message-card p{font-size:12px;line-height:1.55;margin:0;white-space:pre-wrap}.drop-message-card img{width:100%;border-radius:11px;margin-top:9px;max-height:320px;object-fit:cover}.drop-message-meta{font-size:8px;color:var(--muted-2);padding:0 5px}.thread-composer{position:fixed;z-index:45;left:50%;transform:translateX(-50%);bottom:calc(83px + var(--safe-bottom));width:min(calc(100% - 26px),720px);background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:16px;padding:8px;display:flex;align-items:center;gap:8px;box-shadow:0 12px 36px rgba(16,24,40,.12);backdrop-filter:blur(14px)}.thread-composer button{flex:1}.share-picker{max-height:62vh;overflow:auto}.share-post-mini{border:1px solid var(--line);background:#fff;border-radius:13px;padding:11px;margin-bottom:8px}.share-post-mini p{font-size:11px;line-height:1.45;margin:5px 0 0}.people-search-results{display:grid;gap:7px;margin-top:10px}.person-pick{appearance:none;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px;width:100%;display:flex;align-items:center;gap:9px;text-align:left}.person-pick:hover{background:var(--surface-2)}

/* Explore */
.topic-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.topic-card{appearance:none;border:1px solid var(--line);background:#fff;border-radius:15px;padding:15px;text-align:left;min-height:92px}.topic-card b{font-size:12px;display:block}.topic-card span{font-size:9.5px;color:var(--muted);display:block;margin-top:4px}.topic-icon{width:30px;height:30px;border-radius:9px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;margin-bottom:14px}.topic-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}.blog-strip{display:grid;gap:8px}.blog-link{display:block;text-decoration:none;padding:14px;background:#fff;border:1px solid var(--line);border-radius:15px}.blog-link b{font-size:12px;line-height:1.35}.blog-link p{font-size:10.5px;line-height:1.45;color:var(--muted);margin:5px 0 0}

/* Profiles */
.profile-cover{padding:8px 2px 4px}.profile-row{display:flex;align-items:center;gap:17px}.profile-copy{min-width:0;flex:1}.profile-copy h1{font-size:20px;letter-spacing:-.04em;margin:0;display:flex;align-items:center;gap:5px}.profile-copy .handle{font-size:11px;color:var(--muted);margin-top:3px}.profile-bio{font-size:12px;line-height:1.55;color:var(--text-2);margin:13px 0 0;white-space:pre-wrap}.profile-website{display:inline-block;font-size:10.5px;color:var(--accent);font-weight:700;margin-top:7px;text-decoration:none}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:18px -16px 0;background:#fff}.profile-stat{text-align:center;padding:13px 5px}.profile-stat+.profile-stat{border-left:1px solid var(--line)}.profile-stat b{font-size:14px;display:block}.profile-stat span{font-size:9px;color:var(--muted);margin-top:2px;display:block}.profile-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.profile-posts{display:grid;gap:9px}.profile-post{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px}.profile-post p{font-size:11.5px;line-height:1.5;margin:0}.profile-post .muted{font-size:9px;margin-top:7px}

/* Settings */
.settings-page{max-width:620px;margin:0 auto}.settings-group{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden;margin-bottom:12px}.settings-row{appearance:none;width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;padding:13px 14px;display:flex;align-items:center;gap:11px;text-align:left;text-decoration:none}.settings-row:last-child{border-bottom:0}.settings-row:hover{background:#fafbfc}.settings-icon{width:32px;height:32px;border-radius:10px;background:var(--surface-2);display:grid;place-items:center;color:var(--text-2)}.settings-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}.settings-copy{flex:1}.settings-copy b{font-size:11.5px;display:block}.settings-copy span{font-size:9.5px;color:var(--muted);margin-top:2px;display:block}.chev{width:17px;height:17px;stroke:var(--muted-2);fill:none;stroke-width:1.8}.toggle{width:39px;height:23px;border-radius:999px;background:#d0d5dd;padding:2px;transition:.15s}.toggle span{display:block;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0002;transition:.15s}.toggle.on{background:var(--accent)}.toggle.on span{transform:translateX(16px)}

/* Auth & onboarding: dedicated screens, not sheets */
.mode-auth .topbar,.mode-auth .dock,.mode-auth .top-actions{display:none}.mode-auth .view{padding:0;min-height:100vh}.auth-page{min-height:100vh;background:#fff;display:flex;flex-direction:column;padding:calc(26px + var(--safe-top)) 22px calc(24px + var(--safe-bottom))}.auth-main{width:min(100%,430px);margin:auto}.auth-logo{font-size:27px;font-weight:850;letter-spacing:-.06em;text-align:center;margin-bottom:34px}.auth-progress{margin:0 auto 28px;max-width:180px}.auth-title{text-align:center}.auth-title h1{font-size:25px;letter-spacing:-.045em;margin:0}.auth-title p{font-size:12px;line-height:1.55;color:var(--muted);margin:8px auto 0;max-width:360px}.auth-form{display:grid;gap:11px;margin-top:24px}.auth-switch{text-align:center;font-size:11px;color:var(--muted);margin-top:18px}.auth-switch button{appearance:none;border:0;background:transparent;color:var(--accent);font-weight:750;padding:3px}.auth-legal{width:min(100%,500px);margin:28px auto 0;color:var(--muted);font-size:9.5px;line-height:1.55;text-align:center}.auth-legal a{color:var(--text-2)}.policy-warning{border:1px solid #e7e9ee;background:#fafbfc;border-radius:12px;padding:11px 12px;color:var(--muted);font-size:9.5px;line-height:1.55}.username-status{font-size:9.5px;margin-top:3px}.username-status.good{color:var(--teal)}.username-status.bad{color:var(--danger)}.otp-input{font-size:25px!important;letter-spacing:.32em;text-align:center;font-weight:800;padding-left:calc(.32em + 13px)!important}.otp-help{text-align:center;font-size:10.5px;color:var(--muted);margin-top:12px}.otp-help button{appearance:none;border:0;background:transparent;color:var(--accent);font-weight:700}.auth-back{appearance:none;border:0;background:transparent;color:var(--text-2);position:absolute;left:15px;top:calc(16px + var(--safe-top));width:38px;height:38px;border-radius:10px;display:grid;place-items:center}.auth-back svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.onboarding-page{min-height:100vh;background:#fff;padding:calc(24px + var(--safe-top)) 20px calc(30px + var(--safe-bottom))}.onboarding-wrap{width:min(100%,540px);margin:0 auto}.progress-line{height:3px;border-radius:99px;background:#eef0f3;overflow:hidden;margin-bottom:32px}.progress-line span{display:block;height:100%;background:var(--accent);transition:width .25s}.onboarding-page h1{font-size:26px;letter-spacing:-.045em;margin:0 0 8px}.onboarding-page>div>p,.onboarding-wrap>p{font-size:12px;color:var(--muted);line-height:1.55}.avatar-picker{display:grid;justify-items:center;gap:10px;margin:24px 0}.avatar-picker label{cursor:pointer}.interest-grid{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.interest{appearance:none;border:1px solid var(--line-strong);background:#fff;border-radius:999px;padding:9px 13px;font-size:11px;color:var(--text-2)}.interest.active{background:var(--accent);border-color:var(--accent);color:#fff}.onboarding-actions{display:flex;gap:8px;margin-top:20px}.onboarding-actions>*{flex:1}

/* Bottom dock */
.dock{position:fixed;left:50%;bottom:calc(10px + var(--safe-bottom));z-index:70;transform:translateX(-50%);height:64px;display:flex;align-items:center;justify-content:space-around;background:rgba(255,255,255,.94);border:1px solid rgba(208,213,221,.9);backdrop-filter:blur(22px) saturate(170%);-webkit-backdrop-filter:blur(22px) saturate(170%);box-shadow:var(--shadow-dock);border-radius:22px;transition:width .28s cubic-bezier(.2,.8,.2,1),height .28s cubic-bezier(.2,.8,.2,1),border-radius .28s,transform .28s}.dock-expanded{width:min(calc(100% - 22px),720px)}.dock-compact{width:min(70%,480px);height:54px;border-radius:999px}.dock-item{position:relative;appearance:none;border:0;background:transparent;min-width:53px;height:50px;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#737e8c;transition:.16s}.dock-item svg{width:21px;height:21px}.dock-item .nav-outline{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.dock-item .nav-fill{display:none;fill:currentColor;stroke:none}.dock-item .nav-fill .cut{fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round}.dock-item>span:last-child{font-size:8.5px;font-weight:680;transition:.15s}.dock-item.active{color:var(--accent)}.dock-item.active .nav-outline{display:none}.dock-item.active .nav-fill{display:block}.dock-item.active:not(:nth-child(2)){background:var(--accent-soft)}.dock-compact .dock-item>span:last-child{opacity:0;height:0;overflow:hidden}.dock-compact .dock-item{height:42px;min-width:40px;background:transparent!important}.dock-compact .dock-item svg{width:20px;height:20px}.dock-signal{position:absolute!important;right:8px;top:4px;width:7px;height:7px!important;border-radius:50%;background:var(--danger);border:2px solid #fff;opacity:0;z-index:4}.dock-signal.on{opacity:1}

/* Sheets only for lightweight actions */
.sheet-backdrop{position:fixed;inset:0;z-index:90;background:rgba(16,24,40,.34);backdrop-filter:blur(2px)}.sheet{position:fixed;z-index:100;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,680px);max-height:86dvh;overflow:auto;background:#fff;border:1px solid var(--line);border-bottom:0;border-radius:22px 22px 0 0;padding:9px 17px calc(22px + var(--safe-bottom));box-shadow:0 -16px 55px rgba(16,24,40,.16);animation:sheetUp .22s cubic-bezier(.2,.8,.2,1)}@keyframes sheetUp{from{transform:translate(-50%,100%)}to{transform:translate(-50%,0)}}.sheet-grab{width:36px;height:4px;background:#d0d5dd;border-radius:99px;margin:2px auto 15px}.sheet h2{font-size:19px;letter-spacing:-.04em;margin:3px 0 5px}.sheet p{font-size:11px;color:var(--muted);line-height:1.5;margin:0}.notification{padding:12px 2px;border-bottom:1px solid var(--line)}.notification:last-child{border-bottom:0}.notification b{font-size:11.5px}.notification p{font-size:9.5px;margin-top:4px}.toast{position:fixed;z-index:130;left:50%;bottom:calc(88px + var(--safe-bottom));transform:translateX(-50%);max-width:calc(100% - 34px);background:#111827;color:#fff;padding:10px 14px;border-radius:999px;font-size:10.5px;font-weight:650;box-shadow:0 10px 32px rgba(0,0,0,.2);text-align:center}.install-steps{display:grid;gap:8px;margin:14px 0}.install-step{display:flex;align-items:flex-start;gap:10px;padding:11px;border-radius:12px;background:var(--surface-2);font-size:11px;line-height:1.45}.install-step b{width:24px;height:24px;flex:0 0 24px;border-radius:8px;background:var(--text);color:#fff;display:grid;place-items:center;font-size:9px}

.empty-state{text-align:center;padding:44px 20px;color:var(--muted)}.empty-icon{width:44px;height:44px;margin:0 auto 12px;border-radius:14px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}.empty-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8}.empty-state b{color:var(--text);font-size:13px}.empty-state p{font-size:11px;line-height:1.55;max-width:360px;margin:6px auto 13px}.skeleton{height:114px;border-radius:17px;background:linear-gradient(100deg,#edf0f3 20%,#f8f9fa 36%,#edf0f3 52%);background-size:220% 100%;animation:shimmer 1.25s infinite}@keyframes shimmer{to{background-position:-220% 0}}

@media(min-width:780px){body{background:#eef1ed}.app-shell{box-shadow:0 0 0 1px rgba(16,24,40,.03)}.view{padding-left:22px;padding-right:22px}.profile-stats{margin-left:-22px;margin-right:-22px}.chat-view{margin-left:-22px;margin-right:-22px}.topic-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:390px){.view{padding-left:12px;padding-right:12px}.profile-stats{margin-left:-12px;margin-right:-12px}.chat-view{margin-left:-12px;margin-right:-12px}.dock-expanded{width:calc(100% - 14px)}.dock-item{min-width:47px}.welcome-card{padding:18px}.welcome-card h2{font-size:21px}.profile-row{gap:12px}.avatar.lg{width:78px;height:78px}.topic-grid{gap:7px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* v2.1 interaction polish */
.post-card{position:relative}.like-action.active{color:#e5484d}.like-action.active .heart{fill:#e5484d;stroke:#e5484d}.like-action.like-pop svg{animation:likePop .42s cubic-bezier(.2,.8,.2,1)}@keyframes likePop{0%{transform:scale(.8)}45%{transform:scale(1.38)}75%{transform:scale(.94)}100%{transform:scale(1)}}.post-like-burst{position:absolute;z-index:8;left:50%;top:48%;transform:translate(-50%,-50%) scale(.2) rotate(-12deg);font-size:72px;color:#fff;text-shadow:0 5px 26px rgba(0,0,0,.22);opacity:0;pointer-events:none}.post-like-burst.show{animation:postHeartBurst .7s cubic-bezier(.2,.9,.2,1)}@keyframes postHeartBurst{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(-12deg)}28%{opacity:1;transform:translate(-50%,-50%) scale(1.14) rotate(4deg)}64%{opacity:1;transform:translate(-50%,-50%) scale(.94)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.25)}}

.sheet{--sheet-drag:0px;transform:translate(-50%,var(--sheet-drag));transition:transform .2s cubic-bezier(.2,.8,.2,1)}.sheet.dragging{transition:none}.sheet.closing{transition:transform .18s ease-in!important}.sheet-grab{touch-action:none;cursor:grab;padding:8px 0;background-clip:content-box;height:20px;margin-top:-5px}.sheet-grab:active{cursor:grabbing}

.chat-view{background:var(--bg)}.thread{gap:8px;padding-top:16px}.chat-message{max-width:76%;display:grid;gap:4px}.chat-message.mine{justify-self:end;justify-items:end}.chat-message.theirs{justify-self:start;justify-items:start}.text-bubble{font-size:13px;line-height:1.45;padding:9px 12px;border-radius:18px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);word-break:break-word}.chat-message.mine .text-bubble{background:var(--accent);color:#fff;border-color:var(--accent);border-bottom-right-radius:5px}.chat-message.theirs .text-bubble{border-bottom-left-radius:5px}.drop-message{max-width:83%;gap:4px}.drop-message.mine{justify-items:end}.drop-message.theirs{justify-items:start}.drop-label{font-size:8.5px;font-weight:750;color:var(--muted);padding:0 5px}.drop-message-card{width:100%;border-radius:16px;padding:11px 12px;background:var(--surface);border:1px solid var(--line);box-shadow:0 4px 16px rgba(16,24,40,.05)}.drop-message.mine .drop-message-card{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 18%,var(--line))}.drop-message-card p{font-size:12px;line-height:1.52}.message-reactions{font-size:11px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:2px 6px;width:max-content;margin-top:-8px;z-index:2}.thread-composer{padding:7px;border-radius:18px;gap:6px}.message-form{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.message-input{appearance:none;border:0;background:var(--surface-2);color:var(--text);height:42px;border-radius:999px;padding:0 14px;outline:none;min-width:0;flex:1;font-size:12px}.message-send{appearance:none;border:0;width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;flex:0 0 auto}.message-send svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9}.drop-share-button{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--accent);height:42px;border-radius:13px;padding:0 10px;display:flex;align-items:center;gap:4px;font-size:9px;font-weight:800}.drop-share-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}.message-disabled{font-size:10px;color:var(--muted);padding:8px 10px;flex:1}

.global-loader{position:fixed;inset:0;z-index:220;display:grid;place-items:center;pointer-events:none}.global-loader::before{content:"";position:absolute;width:64px;height:64px;border-radius:20px;background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--line);box-shadow:0 18px 55px rgba(16,24,40,.16);backdrop-filter:blur(16px)}.star-loader{position:relative;width:34px;height:34px;animation:starOrbit 1.35s linear infinite}.star-loader span{position:absolute;display:block;background:var(--accent);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}.star-loader span:nth-child(1){width:25px;height:25px;left:4px;top:4px;animation:starPulse .9s ease-in-out infinite}.star-loader span:nth-child(2){width:8px;height:8px;right:-2px;top:1px;opacity:.65}.star-loader span:nth-child(3){width:6px;height:6px;left:-1px;bottom:2px;opacity:.45}.star-loader span:nth-child(4){width:4px;height:4px;right:2px;bottom:0;opacity:.3}@keyframes starOrbit{to{transform:rotate(360deg)}}@keyframes starPulse{50%{transform:scale(.72);opacity:.72}}button.is-loading{position:relative;pointer-events:none;opacity:.8}button.is-loading::after{content:"";width:13px;height:13px;margin-left:4px;background:currentColor;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);animation:starOrbit .8s linear infinite}

/* Device dark mode selected from Settings */
html[data-theme="dark"]{--bg:#0d1311;--surface:#141c19;--surface-2:#1b2521;--surface-3:#23302a;--text:#f1f5f2;--text-2:#d0d9d4;--muted:#8f9d96;--muted-2:#65726c;--line:#26312c;--line-strong:#37453e;--accent-soft:color-mix(in srgb,var(--accent) 24%,#101815);--teal-soft:#153128;--danger-soft:#321b1d;--warning-soft:#33271a;--shadow-sm:0 1px 2px rgba(0,0,0,.18);--shadow-md:0 16px 42px rgba(0,0,0,.32);--shadow-dock:0 16px 42px rgba(0,0,0,.38)}html[data-theme="dark"] body,html[data-theme="dark"] .app-shell{background:var(--bg)}html[data-theme="dark"] .topbar{background:rgba(13,19,17,.9);border-color:var(--line)}html[data-theme="dark"] .welcome-card{background:linear-gradient(135deg,#16201c 0%,#111a17 100%);border-color:var(--line)}html[data-theme="dark"] .wall-tabs button.active,html[data-theme="dark"] .conversation,html[data-theme="dark"] .settings-group,html[data-theme="dark"] .settings-row,html[data-theme="dark"] .profile-stats,html[data-theme="dark"] .profile-post,html[data-theme="dark"] .auth-page,html[data-theme="dark"] .onboarding-page,html[data-theme="dark"] .person-pick,html[data-theme="dark"] .share-post-mini{background:var(--surface);color:var(--text)}html[data-theme="dark"] .settings-row:hover,html[data-theme="dark"] .conversation:hover{background:var(--surface-2)}html[data-theme="dark"] .chat-top{background:rgba(20,28,25,.94)}html[data-theme="dark"] .thread-composer,html[data-theme="dark"] .dock{background:rgba(20,28,25,.94);border-color:var(--line)}html[data-theme="dark"] .sheet{background:var(--surface);border-color:var(--line)}html[data-theme="dark"] .policy-warning{background:var(--surface-2);border-color:var(--line)}html[data-theme="dark"] .interest{background:var(--surface);color:var(--text-2)}html[data-theme="dark"] .danger-btn{background:var(--surface)}html[data-theme="dark"] .mini-badge,html[data-theme="dark"] .dock-signal{border-color:var(--surface)}html[data-theme="dark"] .post-media{background:#101714}@media(min-width:780px){html[data-theme="dark"] body{background:#080d0b}}

/* v2.2 — clean route architecture + Drop conversation redesign */
body[data-view="pulse"],body[data-view="wall"],body[data-view="explore"],body[data-view="profile"],body[data-view="settings"]{--page-accent:var(--accent)}
body.mode-thread{overflow:hidden;background:var(--surface)}
body.mode-thread .app-shell{width:min(100%,860px);height:100dvh;min-height:100dvh;background:var(--surface);overflow:hidden}
body.mode-thread .view{padding:0!important;min-height:100dvh;height:100dvh;overflow:hidden}

/* Inbox */
.drop-head{margin:2px 0 18px}.drop-head h1{font-size:28px}.drop-head p{font-size:12px;max-width:520px}.inbox-list{border-radius:20px;box-shadow:0 10px 32px rgba(8,132,132,.045)}
.conversation{background:var(--surface);padding:14px 15px;min-height:70px;transition:background .16s ease,transform .16s ease}.conversation:active{transform:scale(.995)}.conversation:hover{background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.conversation-title b{color:var(--text);font-size:12.5px}.conversation-preview{font-size:11px}.unread-dot{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.drop-badge{background:var(--accent-soft);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 14%,transparent);font-weight:800;letter-spacing:.01em}

/* Immersive conversation */
.chat-view{margin:0!important;width:100%;height:100dvh;min-height:100dvh;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 3%,var(--bg)) 0%,var(--bg) 22%,var(--bg) 100%);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden}
.chat-top{position:relative;top:auto;z-index:20;min-height:68px;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-bottom:1px solid var(--line);padding:calc(9px + var(--safe-top)) 13px 9px;display:flex;align-items:center;gap:10px}.chat-back{color:var(--text);width:38px;height:38px;border-radius:12px}.chat-back:hover{background:var(--surface-2)}.chat-person{appearance:none;border:0;background:transparent;text-align:left;padding:0;flex:1;min-width:0;color:var(--text)}.chat-person b{display:block;color:var(--text)!important;font-size:12.5px;line-height:1.25;font-weight:760;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-person span{display:block;color:var(--muted)!important;font-size:9.5px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-head-side{display:grid;justify-items:end;gap:5px;flex:0 0 auto}.chat-header-date{font-size:8.5px;color:var(--muted);font-weight:650;letter-spacing:.02em}.chat-context{height:29px;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--muted);font-size:8.8px;background:color-mix(in srgb,var(--surface) 72%,transparent);border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.chat-context i{width:3px;height:3px;background:var(--accent);border-radius:50%}
.thread{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:18px 14px 20px;display:grid;align-content:start;gap:5px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--accent) 18%,transparent) transparent}.thread::before{content:"";position:fixed;inset:98px 0 76px;pointer-events:none;opacity:.45;background-image:radial-gradient(circle at 15% 20%,color-mix(in srgb,var(--accent) 5%,transparent) 0 1px,transparent 1.5px),radial-gradient(circle at 83% 65%,color-mix(in srgb,var(--accent) 4%,transparent) 0 1px,transparent 1.5px);background-size:34px 34px,42px 42px}.chat-date-separator{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;margin:11px 0 9px}.chat-date-separator span{background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:5px 10px;font-size:8.5px;font-weight:720;box-shadow:0 3px 12px rgba(16,24,40,.035)}
.chat-message,.drop-message{position:relative;z-index:1;display:grid;margin:2px 0}.chat-message{max-width:min(78%,520px);gap:3px}.chat-message.mine{justify-self:end;justify-items:end}.chat-message.theirs{justify-self:start;justify-items:start}.bubble-author{font-size:8px;color:var(--muted);font-weight:650;padding:0 7px;margin-bottom:1px}.chat-message.mine .bubble-author,.drop-message.mine .bubble-author{text-align:right}.text-bubble{font-size:13px;line-height:1.46;padding:10px 13px;border-radius:19px 19px 19px 6px;background:var(--surface);border:1px solid var(--line);box-shadow:0 4px 14px rgba(16,24,40,.045);color:var(--text);word-break:break-word}.chat-message.mine .text-bubble{background:var(--accent);color:#fff;border-color:var(--accent);border-radius:19px 19px 6px 19px;box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 18%,transparent)}.drop-message-meta{font-size:7.8px;color:var(--muted-2);padding:1px 7px 0}.message-reactions{font-size:11px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:2px 6px;width:max-content;margin-top:-8px;z-index:2;box-shadow:var(--shadow-sm)}
.drop-message{max-width:min(84%,550px);gap:3px}.drop-message.mine{justify-self:end;justify-items:end}.drop-message.theirs{justify-self:start;justify-items:start}.drop-message-card{width:100%;overflow:hidden;border-radius:18px;background:var(--surface);border:1px solid var(--line);padding:0;box-shadow:0 8px 26px rgba(16,24,40,.06)}.drop-message.mine .drop-message-card{background:color-mix(in srgb,var(--accent) 6%,var(--surface));border-color:color-mix(in srgb,var(--accent) 25%,var(--line))}.drop-card-kicker{display:flex;align-items:center;gap:8px;padding:10px 12px 8px;border-bottom:1px solid color-mix(in srgb,var(--line) 80%,transparent)}.drop-card-kicker span{display:inline-flex;background:var(--accent);color:#fff;border-radius:7px;padding:3px 6px;font-size:7px;letter-spacing:.11em;font-weight:850}.drop-card-kicker b{font-size:9px;color:var(--text-2);font-weight:750}.drop-message-card p{font-size:12.5px;line-height:1.56;margin:0;padding:12px 13px;white-space:pre-wrap;color:var(--text)}.drop-message-card img{display:block;width:calc(100% - 20px);margin:0 10px 10px;border-radius:12px;max-height:340px;object-fit:cover}.drop-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px 10px;border-top:1px solid color-mix(in srgb,var(--line) 76%,transparent);font-size:8px;color:var(--muted)}.drop-card-foot span:last-child{text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-empty{position:relative;z-index:1;text-align:center;align-self:center;justify-self:center;max-width:350px;padding:46px 24px;color:var(--muted)}.chat-empty-mark{width:48px;height:48px;margin:0 auto 13px;border-radius:16px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}.chat-empty-mark svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}.chat-empty b{display:block;color:var(--text);font-size:14px}.chat-empty p{font-size:10.5px;line-height:1.55;margin:7px 0 0}
.thread-composer{position:relative;left:auto;bottom:auto;transform:none;z-index:30;width:100%;max-width:none;margin:0;border:0;border-top:1px solid var(--line);border-radius:0;background:color-mix(in srgb,var(--surface) 95%,transparent);padding:9px 11px calc(9px + var(--safe-bottom));display:flex;align-items:center;gap:8px;box-shadow:0 -10px 30px rgba(16,24,40,.055);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.message-form{display:flex;align-items:center;gap:7px;flex:1;min-width:0;background:var(--surface-2);border:1px solid var(--line);border-radius:22px;padding:3px 4px 3px 12px}.message-input{appearance:none;border:0!important;background:transparent!important;color:var(--text);height:40px;border-radius:0;padding:0;outline:none;min-width:0;flex:1;font-size:12.5px;box-shadow:none!important}.message-input::placeholder{color:var(--muted-2)}.message-send{appearance:none!important;border:0!important;width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;aspect-ratio:1/1!important;padding:0!important;border-radius:50%!important;background:var(--accent)!important;color:#fff!important;display:grid!important;place-items:center!important;flex:0 0 40px!important;line-height:0}.message-send svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;transform:translate(-1px,1px)}.drop-share-button{appearance:none;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));background:var(--accent-soft);color:var(--accent);height:44px;min-width:68px;border-radius:15px;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:4px;font-size:9px;font-weight:820;flex:0 0 auto}.drop-share-button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}.message-disabled{font-size:10px;color:var(--muted);padding:11px 12px;flex:1}

/* New accent refinements */
.primary{box-shadow:0 5px 16px color-mix(in srgb,var(--accent) 13%,transparent)}.verified{background:var(--accent)}.source-chip{color:var(--accent);background:var(--accent-soft)}.welcome-card{background:linear-gradient(145deg,#fff 0%,color-mix(in srgb,var(--accent) 6%,#fff) 100%);border-color:color-mix(in srgb,var(--accent) 14%,var(--line))}.simple-notice .notice-icon,.empty-icon{background:var(--accent-soft);color:var(--accent)}

html[data-theme="dark"] .chat-view{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 6%,#0d1311) 0%,var(--bg) 24%,var(--bg) 100%)}html[data-theme="dark"] .chat-top,html[data-theme="dark"] .thread-composer{background:rgba(20,28,25,.95)}html[data-theme="dark"] .chat-context{background:rgba(20,28,25,.7)}html[data-theme="dark"] .chat-date-separator span{background:rgba(20,28,25,.94)}html[data-theme="dark"] .text-bubble,html[data-theme="dark"] .drop-message-card{background:var(--surface)}html[data-theme="dark"] .chat-message.mine .text-bubble{background:var(--accent);color:#fff}html[data-theme="dark"] .drop-message.mine .drop-message-card{background:color-mix(in srgb,var(--accent) 13%,var(--surface))}

@media(max-width:520px){.chat-top{padding-left:9px;padding-right:9px}.chat-head-side .chat-header-date{display:block;font-size:7.8px}.thread{padding-left:10px;padding-right:10px}.chat-message{max-width:84%}.drop-message{max-width:89%}.thread-composer{padding-left:8px;padding-right:8px}.drop-share-button{min-width:56px}.drop-share-button span{display:none}}

/* v2.4 realtime, delivery states & push settings */
.live-state{display:inline-flex;align-items:center;gap:5px;font-weight:700;color:var(--muted)}
.live-state::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--muted-2);box-shadow:0 0 0 0 transparent}
.live-state.live{color:var(--accent)}.live-state.live::before{background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}
.live-state.backup{color:#8a6b18}.live-state.backup::before{background:#c89b2c}
.live-state.offline{color:#a13c34}.live-state.offline::before{background:#c95045}
.chat-message.pending{opacity:.78}.chat-message.queued{opacity:.72}.chat-message.queued .text-bubble{border-style:dashed}
.drop-message-meta{display:flex;align-items:center;gap:5px;min-height:13px}
.chat-message.mine .drop-message-meta,.drop-message.mine .drop-message-meta{justify-content:flex-end}
.push-panel{display:grid;gap:14px}.push-status-row{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.push-status-row b{font-size:13px}.push-status-row p{margin:5px 0 0;color:var(--muted);font-size:10.5px;line-height:1.5}.push-state{flex:0 0 auto;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-radius:999px;padding:5px 9px;font-size:9px;font-weight:800}.push-state.on{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 20%,var(--line));color:var(--accent)}
@media(max-width:520px){.chat-context{gap:5px;font-size:8.2px}.chat-context i:nth-of-type(2){display:none}.chat-context span:last-child{display:none}.push-panel .row{display:grid;grid-template-columns:1fr 1fr}.push-panel .row .ghost{grid-column:1/-1}}


/* v2.5 notification nudge + resilient live chat polish */
.push-nudge{position:fixed;z-index:95;left:50%;top:calc(var(--safe-top) + 10px);transform:translateX(-50%);width:min(calc(100% - 22px),520px);min-height:54px;padding:8px 8px 8px 10px;border-radius:16px;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--line));background:color-mix(in srgb,var(--surface) 95%,transparent);box-shadow:0 16px 46px rgba(16,24,40,.14);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);display:grid;grid-template-columns:34px minmax(0,1fr) auto 28px;align-items:center;gap:8px;animation:pushNudgeIn .28s cubic-bezier(.2,.8,.2,1)}
.push-nudge-icon{width:34px;height:34px;border-radius:11px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}.push-nudge-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.push-nudge-copy{min-width:0;display:grid;gap:2px}.push-nudge-copy b{font-size:11.5px;letter-spacing:-.01em}.push-nudge-copy span{font-size:9.4px;color:var(--muted);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.push-nudge-action{appearance:none;border:0;background:var(--accent);color:#fff;height:32px;border-radius:10px;padding:0 11px;font-size:9px;font-weight:800}.push-nudge-close{appearance:none;border:0;background:transparent;color:var(--muted);width:28px;height:28px;border-radius:9px;font-size:19px;line-height:1;display:grid;place-items:center}.push-nudge-close:hover{background:var(--surface-2);color:var(--text)}
@keyframes pushNudgeIn{from{opacity:0;transform:translate(-50%,-12px) scale(.98)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
body.mode-auth .push-nudge,body.mode-thread .push-nudge{display:none!important}
.chat-message.pending .text-bubble{opacity:.84}.chat-message.queued .text-bubble{opacity:.72}.chat-message.queued .drop-message-meta{color:var(--warning)}
.live-state.live::before,.live-state.backup::before,.live-state.connecting::before,.live-state.offline::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px;vertical-align:1px}.live-state.live::before{background:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.09)}.live-state.backup::before{background:var(--accent)}.live-state.connecting::before{background:#d97706;animation:livePulse 1.1s infinite}.live-state.offline::before{background:#98a2b3}@keyframes livePulse{50%{opacity:.35}}
html[data-theme="dark"] .push-nudge{background:rgba(20,28,25,.96);box-shadow:0 18px 50px rgba(0,0,0,.38)}
@media(max-width:520px){.push-nudge{top:calc(var(--safe-top) + 7px);width:calc(100% - 14px);grid-template-columns:32px minmax(0,1fr) auto 25px;gap:6px;padding:7px}.push-nudge-icon{width:32px;height:32px}.push-nudge-copy b{font-size:10.5px}.push-nudge-copy span{font-size:8.5px}.push-nudge-action{height:30px;padding:0 9px}.push-nudge-close{width:25px;height:25px}}

/* v2.6 chat stability + compact composer */
body.mode-thread{overflow:hidden;overscroll-behavior:none}
body.mode-thread .app-shell{height:100dvh;min-height:100dvh;overflow:hidden}
body.mode-thread .view{height:100dvh;min-height:100dvh;overflow:hidden;padding:0!important}
.chat-view{height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;grid-template-rows:auto auto minmax(0,1fr) auto!important;overflow:hidden!important;contain:layout paint}
.chat-top{position:relative!important;top:0!important;flex:0 0 auto;min-height:64px;padding:max(10px,calc(8px + var(--safe-top))) 12px 9px!important;transition:background-color .18s ease,border-color .18s ease;will-change:auto}
.chat-context{flex:0 0 28px;height:28px!important;min-height:28px;white-space:nowrap;overflow:hidden}
.thread{position:relative;min-height:0!important;height:auto!important;overflow-y:auto!important;overflow-x:hidden;scroll-behavior:auto;overscroll-behavior-y:contain;padding:15px 12px 18px!important;gap:4px!important;transform:translateZ(0);-webkit-overflow-scrolling:touch}
.thread::before{position:absolute!important;inset:0!important;background-attachment:local}
.chat-date-separator{margin:12px 0 8px!important;pointer-events:none;animation:chatFadeIn .16s ease both}
.chat-date-separator span{padding:4px 9px!important;font-size:8px!important;box-shadow:0 2px 8px rgba(16,24,40,.03)!important}
.chat-message,.drop-message{animation:chatBubbleIn .18s cubic-bezier(.2,.75,.25,1) both;transform-origin:bottom left}
.chat-message.mine,.drop-message.mine{transform-origin:bottom right}
.text-bubble{transition:opacity .16s ease,transform .16s ease,background-color .18s ease;border-color .18s ease;box-shadow:0 3px 12px rgba(16,24,40,.04)!important}
.chat-message.mine .text-bubble{box-shadow:0 5px 15px color-mix(in srgb,var(--accent) 14%,transparent)!important}
.chat-message.pending .text-bubble{opacity:.74}
.chat-message.pending .drop-message-meta::before{content:"";width:5px;height:5px;border:1.4px solid currentColor;border-top-color:transparent;border-radius:50%;display:inline-block;animation:chatMiniSpin .65s linear infinite}
.thread-composer{position:relative!important;left:auto!important;bottom:auto!important;transform:none!important;flex:0 0 auto;width:100%!important;max-width:none!important;min-height:62px;margin:0!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;padding:7px 9px max(8px,calc(7px + var(--safe-bottom)))!important;gap:7px!important;background:color-mix(in srgb,var(--surface) 96%,transparent)!important;box-shadow:0 -8px 28px rgba(16,24,40,.045)!important;transition:background-color .18s ease,border-color .18s ease}
.thread-composer .drop-share-button{flex:0 0 38px!important;width:38px!important;min-width:38px!important;max-width:38px!important;height:38px!important;min-height:38px!important;padding:0!important;border-radius:50%!important;background:var(--surface-2)!important;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line))!important;color:var(--accent)!important;display:grid!important;place-items:center!important;box-shadow:none!important;transition:transform .14s ease,background-color .14s ease,border-color .14s ease}
.thread-composer .drop-share-button:hover{background:var(--accent-soft)!important;border-color:color-mix(in srgb,var(--accent) 34%,var(--line))!important}
.thread-composer .drop-share-button:active{transform:scale(.9)}
.thread-composer .drop-share-button svg{width:17px!important;height:17px!important;stroke-width:2!important}
.message-form{height:46px!important;min-height:46px!important;border-radius:24px!important;padding:3px 4px 3px 14px!important;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}
.message-form:focus-within{border-color:color-mix(in srgb,var(--accent) 34%,var(--line))!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 7%,transparent)}
.message-input{height:38px!important;min-height:38px!important;font-size:13px!important;line-height:38px!important}
.thread-composer .message-send{flex:0 0 38px!important;width:38px!important;min-width:38px!important;max-width:38px!important;height:38px!important;min-height:38px!important;border-radius:50%!important;transition:transform .12s ease,filter .14s ease,box-shadow .14s ease!important;box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 18%,transparent)!important}
.thread-composer .message-send:hover{filter:brightness(1.04)}
.thread-composer .message-send:active{transform:scale(.9)!important}
.thread-composer .message-send.is-loading,.message-form .message-send.is-loading{pointer-events:auto!important;opacity:1!important}
.thread-composer .message-send.is-loading::after{display:none!important}
.bubble-author{font-size:7.7px!important;margin-bottom:0!important}
.drop-message-meta{font-size:7.5px!important;line-height:1.25;min-height:12px!important}
@keyframes chatBubbleIn{from{opacity:0;transform:translateY(5px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes chatFadeIn{from{opacity:0}to{opacity:1}}
@keyframes chatMiniSpin{to{transform:rotate(360deg)}}
@media(max-width:520px){
  .chat-top{padding-left:10px!important;padding-right:10px!important}
  .chat-context{font-size:8px!important}
  .thread{padding-left:9px!important;padding-right:9px!important}
  .chat-message{max-width:82%!important}.drop-message{max-width:90%!important}
  .thread-composer{padding-left:8px!important;padding-right:8px!important}
  .thread-composer .drop-share-button{flex-basis:36px!important;width:36px!important;min-width:36px!important;max-width:36px!important;height:36px!important;min-height:36px!important}
  .thread-composer .message-send{flex-basis:38px!important}
}
@supports (-webkit-touch-callout:none){
  @media (display-mode:standalone) and (max-width:600px){
    :root{--safe-top:max(env(safe-area-inset-top,0px),47px)}
  }
}
@media(prefers-reduced-motion:reduce){.chat-message,.drop-message,.chat-date-separator{animation:none!important}.thread-composer .drop-share-button,.thread-composer .message-send{transition:none!important}}
