
:root{color-scheme:dark;--bg:#0d1319;--surface:#181f27;--surface2:#202832;--fg:#edf1f4;--muted:#9ba9b6;--faint:#788896;--line:#303a44;--button:#28333e;--input:#1a222b;--green:#9ec1ae}
body.light{color-scheme:light;--bg:#f5f6f8;--surface:#ffffff;--surface2:#eef1f5;--fg:#202932;--muted:#627180;--faint:#788694;--line:#dfe4e9;--button:#dce4ec;--input:#fff;--green:#497967}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--bg);color:var(--fg);font:14px/1.55 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}input,textarea,select{outline:0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #a0b8cc;outline-offset:3px}button{border:0;background:none}svg.ico{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex:none}[hidden]{display:none!important}
.app{display:grid;grid-template-columns:clamp(360px,35.5vw,620px) minmax(0,1fr);height:100dvh;min-height:0;background:var(--bg)}.scene{position:relative;height:100%;overflow:hidden;background:#15131c}.scene video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% center}.scene .orb-cover{position:absolute;inset:0;display:grid;place-items:center;background:#121a23}.scene .orb-cover canvas{width:min(80%,460px);aspect-ratio:1}.scene:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#06080d80,transparent 29%,transparent 68%,#06080d4a)}.brand{position:absolute;top:26px;left:34px;z-index:3;font:400 39px/1 'Instrument Serif',Georgia,serif;letter-spacing:-.8px;color:white;text-shadow:0 2px 19px #0009}.brand:hover{opacity:.87}.reminders{position:absolute;z-index:4;top:145px;left:clamp(18px,2.6vw,38px);right:clamp(18px,2.6vw,38px);display:grid;gap:10px;justify-items:start}.reminder{width:min(360px,100%);text-align:left;background:#14151dbf;color:#f6f3f7;backdrop-filter:blur(18px);border:1px solid #f9f9ff35;padding:15px 18px;border-radius:19px;box-shadow:0 12px 30px #06050a33}.reminder small{display:block;color:#d3cdd6;font-size:11px}.reminder strong{display:block;font-size:13px;font-weight:500;margin:5px 0}.reminder.secondary{width:auto;max-width:340px;border-color:transparent;background:#14131ab3}.right{height:100%;min-width:0;display:flex;flex-direction:column;background:var(--bg);overflow:hidden}.topbar{height:82px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,3.2vw,58px);gap:16px}.topbar h1{font-size:16px;font-weight:600;margin:0;letter-spacing:-.2px}.nav{display:flex;gap:25px;align-items:center}.nav button{color:var(--muted);font-size:13px;padding:10px 0}.nav button.selected{color:var(--fg);font-weight:600}.nav button:hover{color:var(--fg)}.view{min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-scroll{min-height:0;overflow:auto;flex:1;padding:35px clamp(28px,5vw,90px) 25px;scrollbar-color:#68758255 transparent}.chat-inner{max-width:750px;margin:auto}.date{text-align:center;color:var(--faint);font-size:12px;margin:12px 0 32px}.msg{font-size:16px;line-height:1.76;max-width:82%;margin:0 0 30px;white-space:pre-wrap}.msg.user{margin-left:auto;background:var(--surface2);border-radius:22px 22px 7px 22px;padding:14px 20px;max-width:73%}.msg time{display:block;text-align:right;font-size:10px;color:var(--faint);margin-top:4px}.composer-wrap{padding:0 clamp(25px,5vw,90px) 28px}.composer{max-width:750px;margin:auto;display:flex;align-items:center;gap:12px;min-height:73px;background:var(--surface2);border:1px solid transparent;border-radius:26px;padding:10px 11px 10px 22px}.composer:focus-within{border-color:var(--line)}.composer textarea{background:none;border:0;flex:1;resize:none;min-height:38px;max-height:125px;padding:9px 0;color:var(--fg);font-size:15px}.composer textarea::placeholder{color:var(--muted)}.glyph-btn{display:grid;place-items:center;width:38px;height:38px;color:var(--muted)}.glyph-btn:hover{color:var(--fg)}.send{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#e0e7ed;color:#19232c}.send:hover{background:#fff}
.page-contacts{padding:6px clamp(22px,3.4vw,55px) 30px;min-height:0;display:flex;flex-direction:column}.search{height:52px;display:flex;align-items:center;gap:13px;background:var(--surface);border-radius:13px;padding:0 15px;margin:16px 0 27px;color:var(--muted)}.search input{flex:1;min-width:0;background:none;border:0;font-size:14px;color:var(--fg)}.search input::placeholder{color:var(--muted)}.contacts-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(205px,30%);gap:clamp(20px,3.4vw,58px);flex:1;min-height:0}.people-col,.folders-col{display:flex;min-width:0;min-height:0;flex-direction:column}.section-title{display:flex;align-items:center;justify-content:space-between;min-height:42px;gap:12px;margin-bottom:14px}.section-title h2{font-size:16px;font-weight:610;margin:0}.muted-count{font-size:12px;color:var(--faint);font-weight:400;margin-left:8px}.inline-action{color:var(--muted);font-size:13px;white-space:nowrap}.inline-action:hover{color:var(--fg)}.scrollable{overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#6a7a8740 transparent}.person{width:100%;display:flex;gap:13px;align-items:center;padding:14px 9px;border-bottom:1px solid color-mix(in srgb,var(--line) 50%,transparent);text-align:left}.person:hover{background:color-mix(in srgb,var(--surface) 60%,transparent)}.face{width:43px;height:43px;flex:none;display:grid;place-items:center;overflow:hidden}.face svg{width:100%;height:100%;display:block;flex:none}.person .name{flex:1;min-width:0;text-align:left}.person b{font-weight:560;font-size:14px}.person small{display:block;color:var(--green);margin-top:2px;font-size:12px}.more{font-size:24px;color:var(--muted);padding:0 9px}.folder-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;min-height:55px;padding:11px 13px;border-radius:11px;color:var(--muted);font-size:14px}.folder-item:not(.active):hover{background:color-mix(in srgb,var(--surface) 78%,transparent)}.folder-item.active{background:var(--surface2);color:var(--fg)}.folder-item small{color:var(--faint)}.icon-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.icon-pick{height:51px;display:grid;place-items:center;background:var(--surface2);border:1px solid var(--line);border-radius:12px;color:var(--muted)}.icon-pick.selected{border-color:#97aabd;color:var(--fg);background:var(--button)}.folder-actions{display:flex;gap:5px;align-items:center}.folders-col .scrollable{display:flex;flex-direction:column;gap:6px}.folder-actions{flex:0 0 auto}.folder-item{min-width:0}.tiny{width:25px;height:25px;color:var(--faint);font-size:18px;border-radius:7px}.tiny:hover{background:var(--surface2);color:var(--fg)}.empty{padding:28px 12px;color:var(--muted);font-size:14px}
.profile-split{display:grid;grid-template-columns:minmax(198px,28%) minmax(0,1fr);height:100%;min-height:0}.profile-nav{padding:7px 16px 28px clamp(22px,3vw,50px);overflow:auto;scrollbar-width:thin}.profile-nav h2{font-size:17px;margin:10px 0 27px}.profile-nav button{width:100%;text-align:left;display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:10px;margin-bottom:2px;font-size:13px;color:var(--muted)}.profile-nav button svg{width:18px;height:18px}.profile-nav button.active,.profile-nav button:hover{background:var(--surface2);color:var(--fg)}.profile-main{overflow:auto;padding:18px clamp(22px,3.8vw,63px) 50px;min-width:0;scrollbar-width:thin}.profile-main>h2{margin:0 0 25px;font-size:26px;letter-spacing:-.6px;font-weight:590}.profile-main>p:first-of-type{color:var(--muted)}.setting-group{margin-bottom:34px}.setting-group h3{font-size:13px;margin:22px 0 12px;font-weight:620}.setting-row{display:flex;align-items:center;gap:14px;justify-content:space-between;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent);padding:16px 0;min-height:59px}.setting-row:last-child{border-bottom:0}.setting-row label{display:flex;flex-direction:column;gap:3px;min-width:0}.setting-row label small{font-size:12px;color:var(--muted);line-height:1.5}.setting-row button{white-space:nowrap}.mini-btn{border:1px solid var(--line);border-radius:10px;padding:8px 13px;background:var(--surface);font-size:12px}.mini-btn:hover{background:var(--surface2)}.primary{padding:12px 18px;border-radius:12px;background:#d6e0e8;color:#15202a;font-weight:620}.primary:hover{background:#f0f4f8}.danger{color:#e4a0a4}.text-input{min-width:0;width:100%;background:var(--input);border:1px solid var(--line);padding:12px 14px;border-radius:12px;font-size:14px}.settings-form{max-width:450px;display:grid;gap:17px}.field{display:grid;gap:7px}.field span{font-size:12px;color:var(--muted)}.select{border:1px solid var(--line);background:var(--surface);border-radius:11px;padding:10px 13px;font-size:13px}.checkline{display:flex;gap:11px;align-items:center;margin:13px 0;color:var(--fg)}.checkline input{accent-color:#859bab;width:16px;height:16px}.switch{width:44px;height:25px;border-radius:50px;background:#515a65;padding:3px;position:relative;flex:none;transition:.2s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:19px;height:19px;background:#e7e9ed;border-radius:50%;transition:.2s}.switch.on{background:#7891a2}.switch.on:after{left:22px}.look-row{display:flex;gap:16px;max-width:540px}.look-tile{flex:1;max-width:220px;border:1px solid var(--line);border-radius:17px;padding:9px;text-align:left;background:var(--surface)}.look-tile.selected{outline:1px solid #9aa9b8;background:var(--surface2)}.look-tile img,.look-tile .look-orb{display:block;aspect-ratio:1;width:100%;object-fit:cover;object-position:50% 74%;border-radius:11px;background:#111923}.look-orb{display:grid!important;place-items:center}.look-orb canvas{width:100%;max-width:145px;aspect-ratio:1}.look-tile strong{display:block;font-size:13px;margin:9px 3px 1px}.look-tile small{display:block;color:var(--muted);font-size:11px;margin:0 3px 3px}.helper{font-size:12px;color:var(--muted);max-width:540px;line-height:1.6}.simple-list{display:grid;gap:5px}.action-row{padding:15px 2px;text-align:left;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.action-row:hover{color:#9db9cc}.pill{border-radius:12px;background:var(--surface2);padding:12px 16px;margin:14px 0;color:var(--muted)}.pin-dots{font-size:29px;letter-spacing:11px;text-align:center;margin:15px 0;color:var(--fg)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-width:285px;margin:auto}.keypad button{padding:12px;border-radius:12px;font-size:20px;background:var(--surface)}.keypad button:hover{background:var(--surface2)}.keypad .erase{font-size:14px}.pin-panel{max-width:320px;margin:25px auto 0}.pin-panel p{text-align:center;color:var(--muted);font-size:13px}.codebox{font-family:ui-monospace,monospace;font-size:12px;letter-spacing:.4px;padding:10px 13px;background:var(--surface);border-radius:10px;word-break:break-all}.support-link{color:var(--muted);text-decoration:underline}.support-link:hover{color:var(--fg)}
.modal-backdrop{position:fixed;z-index:50;inset:0;background:#020509aa;display:grid;place-items:center;padding:18px}.modal{width:min(440px,100%);max-height:min(85dvh,800px);overflow:auto;padding:27px;border-radius:20px;background:var(--surface);box-shadow:0 24px 80px #000a}.modal h2{margin:0 0 14px;font-size:21px}.modal p{color:var(--muted);font-size:13px}.modal .modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.modal .close{float:right;color:var(--muted);font-size:22px}.toast{position:fixed;z-index:80;bottom:26px;left:50%;transform:translate(-50%,12px);opacity:0;background:var(--surface2);padding:10px 16px;border-radius:12px;font-size:13px;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1110px){.app{grid-template-columns:minmax(280px,33vw) minmax(0,1fr)}.contacts-split{grid-template-columns:minmax(0,1fr) 220px;gap:20px}.page-contacts{padding-left:25px;padding-right:25px}.profile-split{grid-template-columns:190px minmax(0,1fr)}.profile-nav{padding-left:15px}.profile-main{padding-left:24px;padding-right:24px}}
@media(max-width:810px){.app{grid-template-columns:minmax(240px,31vw) minmax(0,1fr)}.contacts-split{grid-template-columns:minmax(0,1fr)}.folders-col{order:-1;max-height:180px}.folders-col .scrollable{display:flex;flex-direction:row;gap:5px;overflow:auto}.folder-item{min-width:125px}.folder-actions .tiny{display:none}.profile-split{grid-template-columns:156px minmax(0,1fr)}.profile-nav button{font-size:11px;gap:7px}.profile-main{padding-left:15px;padding-right:15px}.nav{gap:13px}}
@media(max-width:620px){html,body{overflow:auto}.app{display:flex;flex-direction:column;height:100dvh;overflow:auto}.scene{height:220px;flex:none}.scene video{object-position:50% 68%}.scene .brand{font-size:29px;top:12px;left:18px}.reminders{top:auto;bottom:12px;left:12px}.reminder{padding:8px 12px}.reminder.secondary{display:none}.right{flex:1;min-height:450px;height:auto}.topbar{height:55px;padding:0 17px}.view{min-height:380px}.page-contacts{padding:0 14px 18px}.profile-main{padding-bottom:24px}}

/* Atlas18 Web/Desktop: deliberate, distraction-free layout */
.profile-split{grid-template-columns:clamp(242px,31%,294px) minmax(0,1fr)}
.profile-nav{padding:8px 12px 24px clamp(20px,2.8vw,40px);scrollbar-gutter:stable}
.profile-nav button{width:100%;box-sizing:border-box;min-width:0;padding:11px 13px;gap:11px;font-size:13px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
.profile-nav button svg{flex:0 0 18px}
.profile-nav button:hover:not(.active){background:color-mix(in srgb,var(--surface2) 60%,transparent)}
.profile-main{scrollbar-gutter:stable;overflow-x:hidden}
.setting-group h3{font-size:14px;font-weight:650;margin:26px 0 10px}
.setting-group h3:first-child{margin-top:0}
.setting-row{min-width:0}
.setting-row label{flex:1;line-height:1.55}
.inline-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:10px 0 8px}
.choice{padding:9px 14px;border-radius:10px;background:var(--surface);color:var(--muted);border:1px solid transparent;font-size:13px}
.choice:hover{background:var(--surface2);color:var(--fg)}
.choice.selected{color:var(--fg);background:var(--surface2);border-color:var(--line)}
.inline-detail{padding:8px 0 20px;max-width:540px}
.inline-detail .settings-form{margin:12px 0 10px}
.setting-subtitle{color:var(--muted);font-size:12px;line-height:1.55;margin:6px 0 12px}
.language-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:17px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent)}
.language-trigger strong{display:block;font-weight:500}
.language-trigger small{display:block;color:var(--muted);margin-top:4px}
.language-trigger .selected-lang{color:var(--muted);font-size:13px;white-space:nowrap}
.lang-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:12px 0 18px}
.lang-options .choice{text-align:left}
.lang-options .choice.selected{font-weight:600}
.account-section{margin:16px 0 30px}
.account-section h3{margin:18px 0 12px}
.account-actions{margin-top:18px}
.account-actions .setting-row:first-child{border-top:1px solid color-mix(in srgb,var(--line) 55%,transparent)}
.pin-slot:not(:empty){margin:14px 0 20px;max-width:420px}
.pin-slot .pin-panel{margin:8px auto 0}
.pin-slot h4{font-size:15px;margin:10px 0 8px}
.person{position:relative;gap:13px}
.person .name{flex:1}
.person .more{flex:0 0 36px;width:36px;display:grid;place-items:center;margin:0 3px 0 0;height:38px;border-radius:9px;font-size:21px;line-height:1}
.person .more:hover{background:var(--surface2)}
.people-col .scrollable,.folders-col .scrollable{scrollbar-gutter:stable;overscroll-behavior:contain}
.folders-col .scrollable{gap:6px;overflow-y:auto}
.folders-col .folder-actions{gap:6px;min-height:55px;flex-shrink:0}
.folders-col .folder-item{flex:1;width:auto;min-width:0}
.folders-col .folder-item.active{background:var(--surface2)}
.folders-col .folder-item:not(.active):hover{background:color-mix(in srgb,var(--surface2) 48%,transparent)}
.folders-col .folder-actions .tiny{flex:0 0 25px}
.folders-col .folder-item>span{min-width:0}
.folders-col .folder-item>span svg{flex:none}
.folders-col .folder-item small{flex:none}
.context-popover{position:fixed;z-index:60;width:235px;max-height:75dvh;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:6px;box-shadow:0 15px 38px #0005}
.context-popover[hidden]{display:none}
.context-popover button.menu-item{display:flex;align-items:center;gap:11px;width:100%;min-height:40px;text-align:left;padding:9px 10px;border-radius:9px;font-size:13px}
.context-popover button.menu-item:hover{background:var(--surface2)}
.context-popover .separator{border-top:1px solid var(--line);margin:6px 4px}
.context-popover .checkline{margin:0;padding:8px 10px;border-radius:8px;font-size:13px}
.context-popover .checkline:hover{background:var(--surface2)}
.context-popover .checkline input{flex:none}
.inline-person-form{display:flex;align-items:center;gap:8px;min-width:0;flex:1}
.inline-person-form input{width:100%;min-width:0}
.inline-person-form .mini-btn{flex:none}
.people-state{padding:8px 2px 24px;max-width:580px}
.people-state h3{font-size:16px;margin:9px 0 12px}
.people-state .invite-row{min-height:65px;display:flex;gap:12px;align-items:center;border-bottom:1px solid color-mix(in srgb,var(--line) 50%,transparent)}
.people-state .invite-row .invite-person{flex:1;min-width:0;display:flex;align-items:center;gap:11px}
.people-state .invite-row .invite-actions{display:flex;gap:7px;flex:none}
.people-state .invite-row .face{width:35px;height:35px}
.people-state .invite-row .invite-person small{display:block;color:var(--muted);font-size:12px}
.people-state .muted{color:var(--muted)}
.people-state .field{margin-top:15px}
.people-state .input-line{display:flex;gap:10px;align-items:center}
.people-state .input-line input{flex:1}
.people-state .input-line button{flex:none}
.people-state .preview-user{margin-top:18px;padding:15px 0;border-top:1px solid var(--line)}
.people-state .state-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:16px 0}
.people-state .state-actions button{max-width:100%}
.nav button.selected{font-weight:650;color:var(--fg)}
@media(max-width:1110px){.profile-split{grid-template-columns:218px minmax(0,1fr)}.profile-nav{padding-left:12px;padding-right:8px}.profile-nav button{padding:10px 9px}}
@media(max-width:810px){.profile-split{grid-template-columns:190px minmax(0,1fr)}.profile-nav button{font-size:12px}.lang-options{grid-template-columns:1fr}.people-state .invite-row{flex-wrap:wrap}.people-state .invite-row .invite-actions{padding-left:44px}}
@media(max-width:620px){.profile-split{grid-template-columns:145px minmax(0,1fr)}.profile-nav{padding-left:6px}.profile-nav button{font-size:11px;gap:6px;padding:9px 6px}.profile-main{padding:12px 13px 35px}.inline-controls{gap:5px}.choice{padding:8px 10px}.context-popover{max-width:calc(100vw - 24px)}.people-state .input-line{flex-wrap:wrap}}


/* Atlas18 v02 — restrained, consistent native text entry */
:root{--focus-outline:#91aabb}
body.light{--focus-outline:#758d9f}
input:not([type=checkbox]):focus-visible,textarea:focus-visible,select:focus-visible{outline:none!important;outline-offset:0;box-shadow:none}
input:not([type=checkbox]),textarea,select{caret-color:var(--fg)}
.text-input:focus,.select:focus,select:focus{outline:none;border-color:var(--focus-outline);box-shadow:none}
.search{border:1px solid transparent;transition:border-color .14s ease}
.search:focus-within,.composer:focus-within{outline:none;border-color:var(--focus-outline);box-shadow:none}
.search input:focus,.composer textarea:focus{outline:none!important;border:0;box-shadow:none}
button:focus-visible{outline:1px solid var(--focus-outline);outline-offset:2px}
/* Account status: status at start, unobtrusive recovery action at end */
.account-status-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}
.account-status-banner .mini-btn{margin-left:auto;flex-shrink:0}
/* Stable scrollbar track and space for settings controls/action dots */
.people-col #peopleList{padding-right:24px;scrollbar-gutter:stable}
.people-col #peopleList .people-state{max-width:100%}
.folders-col #foldersList{scrollbar-gutter:stable}
/* Only active language has a selected state; no icons or checks */
.lang-options .choice{border:1px solid transparent;min-width:0}
.lang-options .choice.selected{font-weight:560;color:var(--fg);border-color:var(--line);background:var(--surface2)}
@media(max-width:810px){.people-col #peopleList{padding-right:14px}}
@media(max-width:620px){.account-status-banner{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.search{transition:none}}


/* Atlas18 003 — chat proportions and native-editing matte caret, without changing the brand palette. */
:root{--atlas-chat-width:710px}
.chat-scroll{padding:26px clamp(18px,3.1vw,48px) 16px;scrollbar-gutter:stable}
.chat-inner{width:100%;max-width:var(--atlas-chat-width);margin-inline:auto;min-width:0}
.date{margin:8px 0 28px}
.msg{font-size:15.5px;line-height:1.64;max-width:100%;margin:0 0 19px;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}
.msg:not(.user){width:100%}
.msg.user{display:table;width:max-content;max-width:78%;margin:0 0 17px auto;padding:0;border:0;border-radius:0;background:transparent;white-space:normal}
.msg.user .msg-bubble{display:block;padding:10px 15px;border-radius:19px;background:var(--surface2);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;max-width:100%}
.msg time{font-size:10px;margin-top:3px;color:var(--faint);line-height:1.4}
.msg.user time{display:block;text-align:right;padding-right:3px;margin-top:4px}
.composer-wrap{padding:0 clamp(18px,3.1vw,48px) 20px;flex:none}
.composer{width:100%;max-width:var(--atlas-chat-width);min-height:58px;align-items:flex-end;gap:6px;padding:10px 10px 10px 17px;border-radius:24px;margin-inline:auto}
.composer textarea{display:block;min-width:0;min-height:26px;height:26px;max-height:184px;overflow-y:hidden;overflow-x:hidden;line-height:1.55;padding:1px 0;margin:0;flex:1;font-size:15px;scrollbar-width:thin;scrollbar-color:#68758255 transparent;box-sizing:border-box}
.composer .glyph-btn{height:36px;width:34px;margin-bottom:0;flex:none}
.composer .send{width:38px;height:38px;flex:none}
/* Shadowless, consistent focus for search, chat, and all editable controls. */
.search:focus-within,.composer:focus-within{box-shadow:none;border-color:var(--focus-outline)}
.search input:focus,.composer textarea:focus,.text-input:focus{box-shadow:none!important;outline:none!important}
/* 01 — thin matte block. The native editor still owns selection, composition and all keystrokes. */
.atlas-matte-caret-active{caret-color:transparent!important}
#atlasMatteCaret{position:fixed;z-index:90;pointer-events:none;display:none;width:4px;height:20px;border-radius:1.5px;background:#aebdca;opacity:.46;animation:atlasMatteBlink 1.08s steps(1,end) infinite}
body.light #atlasMatteCaret{background:#647687;opacity:.55}
@keyframes atlasMatteBlink{0%,49%{opacity:.46}50%,100%{opacity:0}}
@keyframes atlasMatteBlinkLight{0%,49%{opacity:.55}50%,100%{opacity:0}}
body.light #atlasMatteCaret{animation-name:atlasMatteBlinkLight}
@media(prefers-reduced-motion:reduce){#atlasMatteCaret{animation:none!important;opacity:.5}}
@media(max-width:810px){:root{--atlas-chat-width:690px}.chat-scroll{padding-inline:18px}.composer-wrap{padding-inline:18px}}
@media(max-width:620px){:root{--atlas-chat-width:100%}.chat-scroll{padding:15px 15px 12px}.composer-wrap{padding:0 14px 16px}.msg.user{max-width:86%}}

/* Atlas18 005 — Human conversation, not a task dashboard. */
:root{--atlas-chat-width:655px}
.msg:not(.user)>time{display:none!important}
.chat-inner .task-message{display:block;width:100%;margin:11px 0 27px;font-size:15.5px;line-height:1.64;white-space:normal;overflow-wrap:anywhere}
.task-message .task-text{font:inherit;color:var(--fg);white-space:pre-wrap}
.task-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:13px 0 0}
.task-btn{min-height:36px;font-size:13px;line-height:1.35;font-weight:500;border-radius:12px;padding:8px 15px;background:transparent;border:1px solid var(--line);color:var(--fg);transition:background .14s ease,border-color .14s ease}
.task-btn:hover:not(:disabled){background:var(--surface2)}
.task-btn.primary{background:var(--surface2);border-color:var(--surface2);color:var(--fg)}
.task-btn.primary:hover{background:var(--button)}
.task-message.is-resolved .task-actions{display:none}
/* All reminders occupy the SAME animated scene; the room never scrolls. */
.reminders{position:absolute;z-index:4;top:clamp(130px,21vh,184px);bottom:auto;left:0;right:0;height:min(39vh,350px);max-height:calc(100% - 180px);width:100%;padding:5px clamp(17px,2.8vw,36px) 34px;display:flex;flex-direction:column;align-items:stretch;gap:14px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#f5edf849 transparent;scroll-behavior:smooth;mask-image:linear-gradient(180deg,#000 0%,#000 86%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 86%,transparent 100%)}
.reminder-slot{display:flex;width:100%;flex:none;align-items:flex-start;min-height:45px}
.reminder-slot[data-place="left"]{justify-content:flex-start;padding-right:11%}
.reminder-slot[data-place="center"]{justify-content:center;padding-left:7%;padding-right:3%}
.reminder-slot[data-place="right"]{justify-content:flex-end;padding-left:12%}
.reminder{display:block;width:max-content;max-width:min(355px,100%);text-align:left;padding:13px 17px;border-radius:18px;color:#f5f2f7;background:#15151dc9;border:1px solid #f9f9ff2a;backdrop-filter:blur(17px);-webkit-backdrop-filter:blur(17px);box-shadow:0 12px 27px #00000024;font-size:13.5px;line-height:1.46;font-weight:420;white-space:normal;overflow-wrap:anywhere;transition:background .15s,border-color .15s,transform .15s}
.reminder:hover{background:#24202bcc;border-color:#f9f9ff4d;transform:translateY(-1px)}
.reminder:focus-visible{outline:2px solid #b2bdc8;outline-offset:2px}
.reminder-slot:nth-child(3n+2) .reminder{background:#1b1922c7}
.reminder-slot:nth-child(4n) .reminder{max-width:min(295px,100%)}
.scenario-head{display:flex;align-items:center;gap:12px;min-width:0}
.scenario-trigger{font-size:11.5px!important;font-weight:400;color:var(--muted);border:1px solid transparent;border-radius:12px;padding:5px 9px;background:var(--surface);white-space:nowrap}
.scenario-trigger:hover,.scenario-trigger[aria-expanded="true"]{background:var(--surface2);border-color:var(--line);color:var(--fg)}
.right{position:relative}
.scenario-panel{position:absolute;top:72px;left:clamp(20px,3.2vw,58px);width:min(385px,calc(100% - 40px));max-height:calc(100% - 100px);overflow:auto;z-index:35;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:19px;box-shadow:0 20px 60px #0007;scrollbar-width:thin}
.scenario-panel-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.scenario-panel h2{font-size:15px;font-weight:600;margin:0}
.scenario-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;padding:9px 0;border-top:1px solid var(--line)}
.scenario-item-main{min-width:0;text-align:left;display:flex;flex-direction:column;gap:2px;border-radius:8px;padding:3px 2px}
.scenario-item-main strong{font-size:13px;font-weight:500}
.scenario-item-main small{font-size:11px;color:var(--muted)}
.scenario-item-right{display:flex;align-items:center;gap:2px}
.scenario-item-right button{color:var(--muted);border-radius:8px;padding:6px 7px;font-size:11.5px}
.scenario-item-right button:hover{background:var(--surface2);color:var(--fg)}
.scenario-panel-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--line);margin-top:8px;padding-top:13px}
.scenario-panel-bottom span{font-size:11px;color:var(--faint)}
.scenario-review-close{color:var(--muted);font-size:19px;padding:0 6px}
.reply-context{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;max-width:var(--atlas-chat-width);margin:0 auto 7px;padding:3px 5px;background:transparent;border:0;border-radius:0}
.reply-context .reply-text{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:var(--muted)}
.reply-context button{font-size:19px;color:var(--muted)}
.reply-context button:hover{color:var(--fg)}
.scenario-trigger:focus-visible,.scenario-panel button:focus-visible,.task-btn:focus-visible{outline:2px solid var(--muted);outline-offset:2px}
@media(max-width:810px){:root{--atlas-chat-width:630px}.scenario-head{gap:6px}.scenario-trigger{font-size:10px!important;padding:5px 6px}.reminders{top:140px;height:min(39vh,330px)}}
@media(max-width:620px){:root{--atlas-chat-width:100%}.scenario-panel{top:48px;left:10px;width:calc(100% - 20px)}.scenario-head{gap:4px}.scenario-trigger{padding:4px}.reminders{top:48px;left:0;right:0;height:155px;max-height:155px;padding:5px 14px 15px;gap:7px}.reminder{font-size:11.5px;padding:8px 11px;border-radius:13px;max-width:83%}.reminder-slot{min-height:30px}}


/* Atlas18 006 — exact-height room notifications, compact chat, quiet per-answer actions. */
:root{--atlas-chat-width:600px}
.reminders{
  top:0;bottom:0;left:0;right:0;width:100%;height:100%;max-height:none;
  --reminder-safe-zone:clamp(130px,21vh,184px);
  padding:var(--reminder-safe-zone) clamp(17px,2.8vw,36px) 0;
  overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
  mask-image:none;-webkit-mask-image:none;scroll-behavior:auto;
}
/* Only overflowing stacks receive bottom scroll room so they can reach the video top. */
.reminders.has-overflow{padding-bottom:var(--reminder-safe-zone)}
.contact-identity{display:flex;align-items:center;gap:11px;min-width:0;max-width:52%;text-align:left;padding:5px 9px 5px 0;border-radius:12px;color:var(--fg)}
.contact-identity:hover{background:color-mix(in srgb,var(--surface2) 55%,transparent)}
.contact-identity-face{width:46px;height:46px;display:block;flex:none;border-radius:50%;overflow:hidden}
.contact-identity-face svg{display:block;width:100%;height:100%}
.contact-identity-text{display:flex;flex-direction:column;gap:0;min-width:0;line-height:1.4}
.contact-identity-text strong{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.contact-identity-text small{font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.msg:not(.user){margin-bottom:30px}
.chat-inner .task-message{margin-bottom:32px}
.assistant-tools{display:flex;align-items:center;gap:5px;min-height:25px;margin-top:9px;white-space:normal}
.assistant-tools button{display:inline-grid;place-items:center;width:31px;height:28px;padding:4px;border:0;border-radius:8px;color:var(--faint);opacity:.82;transition:background .14s,color .14s,opacity .14s}
.assistant-tools button:hover,.assistant-tools button:focus-visible{background:var(--surface2);color:var(--fg);opacity:1}
.assistant-tools .ico{width:16px;height:16px;stroke-width:1.7}
.reply-context{padding:5px 3px;min-height:27px;gap:12px}
.reply-context .quote-jump{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px;padding:2px 0}
.reply-context .quote-jump:hover{color:var(--fg)}
.reply-context .cancel-quote{flex:none;width:26px;height:26px;display:grid;place-items:center;border-radius:7px;font-size:18px}
.reply-context .cancel-quote:hover{background:var(--surface2)}
.msg.user .msg-bubble .sent-quote{display:flex;flex-direction:column;max-width:100%;gap:3px;cursor:pointer;text-align:left;width:100%;border:0;border-left:2px solid var(--muted);padding:0 0 0 10px;margin:0 0 10px;background:transparent;color:var(--muted)}
.sent-quote .quoted-from{font-size:11px;font-weight:600;line-height:1.25;color:var(--fg)}
.sent-quote .quoted-line{font-size:12px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.sent-quote:hover .quoted-line{color:var(--fg)}
.answer-flash{background:color-mix(in srgb,var(--surface2) 38%,transparent);border-radius:9px;outline:9px solid color-mix(in srgb,var(--surface2) 38%,transparent)}
@media(max-width:810px){:root{--atlas-chat-width:600px}.reminders{top:0;bottom:0;height:100%;max-height:none;--reminder-safe-zone:clamp(115px,18vh,155px);padding-top:var(--reminder-safe-zone)}}
@media(max-width:620px){:root{--atlas-chat-width:100%}.reminders{top:0;bottom:0;left:0;right:0;height:100%;max-height:none;--reminder-safe-zone:48px;padding:var(--reminder-safe-zone) 14px 0;gap:7px}.contact-identity-face{width:35px;height:35px}.contact-identity-text strong{font-size:12px}.contact-identity-text small{font-size:10px}.contact-identity{gap:7px}.topbar{gap:8px}.nav{gap:11px}.nav button{font-size:11.5px}.assistant-tools button{width:34px;height:32px}}

/* Atlas18 007 — accepted review: stable navigation, quiet messages, theme-aware Atlas. */
:root{--atlas-chat-width:350px;--atlas-pearl:#edf1f4}
@media(min-width:621px){:root{--atlas-chat-width:350px}}
/* Navigation never shifts when the title or the contact identity changes. */
.topbar{justify-content:flex-start}
.topbar .nav{margin-left:auto;flex-shrink:0}
/* Reserve the bold label width even while a tab is inactive. */
.nav button::after{content:attr(data-label);display:block;height:0;overflow:hidden;visibility:hidden;font-weight:650}
/* Contact identity without a hover-card; the name sits on the nav text line. */
.contact-identity{background:transparent!important;border:0;padding:0;gap:10px;border-radius:0}
.contact-identity:hover{background:transparent!important}
.contact-identity-face{width:44px;height:44px}
.contact-identity-text{transform:translateY(8px)}
.contact-identity:focus-visible{outline:1px solid var(--focus-outline);border-radius:8px;outline-offset:5px}
/* Notice stack: initial headroom scrolls away; the final notification reaches the video bottom. */
.reminders.has-overflow{padding-bottom:var(--reminder-safe-zone)}
.reminders{scrollbar-width:thin;overflow-y:auto}
/* Own messages: action and timestamp reserve space but only appear on hover/focus. */
.msg.user{margin-bottom:18px}
.msg.user>time{display:none!important}
.user-tools{height:26px;display:flex;align-items:center;justify-content:flex-end;gap:8px;opacity:0;visibility:hidden;transition:opacity .14s ease;color:var(--faint)}
.msg.user:hover .user-tools,.msg.user:focus-within .user-tools{opacity:1;visibility:visible}
.user-tools .user-copy{width:28px;height:25px;padding:5px;border-radius:8px;display:grid;place-items:center;color:var(--faint);line-height:1}
.user-tools .user-copy:hover,.user-tools .user-copy:focus-visible{background:var(--surface2);color:var(--fg)}
.user-tools .user-copy .ico{width:16px;height:16px;stroke-width:1.7}
.user-tools time{display:inline!important;line-height:1.4;font-size:10px;margin:0;padding:0;color:var(--faint)}
/* Calm, matte cursor: JavaScript layer stays responsible for the precise block position. */
#atlasMatteCaret{width:3px;border-radius:1px;background:#aebdca}
@keyframes atlasMatteBlink{0%,64%{opacity:.62}65%,100%{opacity:0}}
@keyframes atlasMatteBlinkLight{0%,64%{opacity:.62}65%,100%{opacity:0}}
body.light #atlasMatteCaret{background:#637589}
/* The light Atlas is a scene, not a hole in the white application layout. */
body.light .scene.is-orb,body.light .scene.is-orb .orb-cover{background:var(--atlas-pearl)}
body.light .scene.is-orb:after{background:none}
body.light .scene.is-orb .brand{color:#293848;text-shadow:none}
body.light .look-tile .look-orb{background:var(--atlas-pearl)}
body.light .scene.is-orb .reminder{background:#222c37e8;color:#f9fafb;border-color:#5b677b44}
body.light .scene.is-orb .reminder:hover{background:#303d4be9}
@media(max-width:620px){:root{--atlas-chat-width:100%}.contact-identity-face{width:35px;height:35px}.contact-identity-text{transform:translateY(4px)}}
@media(prefers-reduced-motion:reduce){.user-tools{transition:none}}

/* Atlas18 008 — visual corrections: wide conversation, low composer, aligned account, unobtrusive room scrolling. */
:root{--atlas-chat-width:760px}
/* Chat width and composer height are independent: never squeeze the conversation to slim the input. */
.chat-inner{width:100%;max-width:var(--atlas-chat-width)}
.composer{max-width:var(--atlas-chat-width);min-height:50px;padding:6px 9px 6px 18px;gap:7px;border-radius:25px;align-items:center}
.composer textarea{min-height:26px;height:26px;line-height:1.5;padding:1px 0;align-self:center}
.composer .glyph-btn{width:32px;height:32px;align-self:flex-end}
.composer .send{width:34px;height:34px;align-self:flex-end}
.composer .send .ico{width:19px;height:19px}
/* Flex already centres the avatar against the entire two-line label; don't artificially shift the text down. */
.contact-identity{align-items:center}
.contact-identity-text{transform:none;justify-content:center;line-height:1.32}
.contact-identity-text strong{line-height:1.36}
.contact-identity-text small{line-height:1.34;margin-top:2px}
/* Native scroll tracks over video are distracting; keep wheel/touchpad/keyboard scrolling. */
.reminders{scrollbar-width:none;-ms-overflow-style:none}
.reminders::-webkit-scrollbar{width:0;height:0;display:none}
@media(max-width:810px) and (min-width:621px){:root{--atlas-chat-width:100%}}
@media(max-width:620px){:root{--atlas-chat-width:100%}.contact-identity-text{transform:none}}

/* Atlas18 009 — a deliberately small refinement of the accepted 008 composition.
   Chat width, typography, message actions, and contact header only. */
:root{--atlas-chat-width:720px}
/* Balanced desktop conversation column. The composer and reply strip use the same width token. */
.chat-inner,.composer,.reply-context{max-width:var(--atlas-chat-width)}
/* Lighter everyday typography without shrinking controls, navigation or contact names. */
.chat-inner .msg{font-size:14.5px;font-weight:400;line-height:1.61;letter-spacing:-.035px}
.chat-inner .task-message{font-size:14.5px;font-weight:400;line-height:1.61;letter-spacing:-.035px}
.chat-inner .msg.user .msg-bubble{line-height:1.57}
.reminders .reminder{font-size:12.5px;font-weight:400;line-height:1.5}
/* Copy icon remains on a transparent hit target, spatially separate from the user bubble. */
.msg.user .user-tools{margin-top:5px}
.user-tools .user-copy,.user-tools .user-copy:hover,.user-tools .user-copy:focus-visible{
 background:transparent;box-shadow:none;
}
.user-tools .user-copy:hover,.user-tools .user-copy:focus-visible{color:var(--fg)}
/* First align the NAME with nav labels, then move the avatar together with its two-line label.
   Never alter the top-right nav position to compensate. */
.contact-identity{transform:translateY(9px)}
.contact-identity-text{transform:none}
@media(max-width:810px) and (min-width:621px){:root{--atlas-chat-width:100%}}
@media(max-width:620px){
 :root{--atlas-chat-width:100%}
 .contact-identity{transform:translateY(4px)}
 .reminders .reminder{font-size:11.5px}
}
@media(prefers-reduced-motion:reduce){.user-tools{transition:none}}

/* Atlas18 010 — intermediate visual rhythm between browser 90% and 100%.
   Designed for native browser zoom 100%, without scaling the scene or controls. */
:root{--atlas-chat-width:690px}
/* Retain desktop legibility; only soften the conversation's optical density. */
.chat-inner .msg,.chat-inner .task-message{font-size:14px;line-height:1.63}
.chat-inner .msg.user .msg-bubble{line-height:1.57}
/* The composer stays short but comfortably tappable and aligned to the messages. */
.composer{min-height:48px;padding-top:6px;padding-bottom:6px}
.composer textarea{font-size:14.5px}
/* Slightly lighter reminder surfaces; preserve their distinct room viewport and scroll. */
.reminders .reminder{font-size:12.25px;max-width:min(345px,100%);padding:12px 16px}
@media(max-width:810px) and (min-width:621px){:root{--atlas-chat-width:100%}}
@media(max-width:620px){
 :root{--atlas-chat-width:100%}
 .reminders .reminder{font-size:11.5px;max-width:83%;padding:8px 11px}
}

/* Atlas18 012 — only two precise corrections; all 010 proportions stay intact. */
/* The overlay is positioned with viewport coordinates via translate3d(x,y).
   A fixed element without top/left retains its static y-position at the end
   of the body, placing the drawn caret one screen-height too far down. */
#atlasMatteCaret{top:0;left:0}
/* The name and @handle are already aligned to the global navigation.
   Move the artwork only, not the text, nav, or contact identity wrapper. */
.contact-identity-face{transform:translateY(4px)}
@media(max-width:620px){.contact-identity-face{transform:translateY(3px)}}

/* Atlas18 013 — calmer placeholder text; separate matte caret from the placeholder,
   without moving the text anchor or changing any layout dimensions. */
.composer textarea::placeholder{font-size:13.5px;opacity:.75}
.search input::placeholder{font-size:13px;opacity:.75}
#atlasMatteCaret{width:3px}
/* Atlas18 014 — shift only the visible chat hint, never the caret or typed text.
   Placeholder text-indent is supported by Chromium and leaves textarea geometry intact. */
/* Atlas18 015 — chat placeholder sits almost flush to the matte caret; typed text geometry stays unchanged. */
#chatInput::placeholder{text-indent:1px}

/* Atlas18 017 — friend profile. Quiet, minimal social layer in the established layout. */
.friend-view{overflow-y:auto;overflow-x:hidden;min-height:0;flex:1;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--faint) 30%,transparent) transparent}
.friend-content{width:min(686px,100%);padding:20px 26px 60px;margin:0 auto}
.friend-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:38px}
.friend-back{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:13px;padding:8px 2px;transition:color .15s}
.friend-back:hover{color:var(--fg)}
.friend-back .ico{width:17px;height:17px}
.friend-more{width:36px;height:36px;border-radius:10px;color:var(--muted);font-size:21px;display:grid;place-items:center}
.friend-more:hover{color:var(--fg);background:var(--surface2)}
.friend-profile-core{margin:48px 0 0}
.friend-person-head{display:flex;align-items:center;gap:20px}
.friend-avatar{width:86px;height:86px;flex:none;border-radius:50%;overflow:hidden;display:block}
.friend-avatar svg{width:100%;height:100%;display:block}
.friend-fullname{font-size:27px;line-height:1.17;letter-spacing:-.65px;font-weight:580;margin:0 0 5px}
.friend-handle{font-size:13px;color:var(--muted);line-height:1.5}
.friend-relation{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;margin-top:9px}
.friend-relation svg{width:14px;height:14px;color:inherit}
.friend-separator{height:1px;background:color-mix(in srgb,var(--line) 70%,transparent);margin:41px 0 31px}
.friend-section-label{font-size:12px;line-height:1.45;color:var(--muted);margin:0 0 15px;font-weight:530}
.friend-assistant-card{display:flex;align-items:center;gap:20px;background:var(--surface);border:1px solid color-mix(in srgb,var(--line) 85%,transparent);padding:14px;border-radius:19px}
.friend-assistant-art{width:116px;height:116px;flex:none;background:#121a23;border-radius:13px;overflow:hidden;display:grid;place-items:center}
body.light .friend-assistant-art.is-atlas{background:#edf1f4}
.friend-assistant-art canvas{width:100%;height:100%;display:block}
.friend-assistant-art img{height:100%;width:100%;object-fit:cover;object-position:50% 73%;display:block}
.friend-assistant-text{min-width:0;padding:3px 0}
.friend-assistant-name{font-size:19px;letter-spacing:-.3px;font-weight:580;line-height:1.25;margin:0 0 6px}
.friend-assistant-sub{font-size:13px;color:var(--muted);line-height:1.5}
.friend-assistant-detail{font-size:11.5px;color:var(--faint);margin-top:12px}
.friend-actions{margin-top:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.friend-action{display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-align:left;min-height:101px;padding:17px 17px 15px;border-radius:15px;border:1px solid var(--line);background:var(--surface);transition:background .15s,border-color .15s,transform .15s}
.friend-action:hover{background:var(--surface2);border-color:color-mix(in srgb,var(--muted) 42%,var(--line));transform:translateY(-1px)}
.friend-action:active{transform:none}
.friend-action.primary-action{border-color:transparent;background:var(--button)}
.friend-action.primary-action:hover{background:color-mix(in srgb,var(--button) 75%,var(--surface2))}
.friend-action-heading{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:590;line-height:1.4}
.friend-action-heading svg{height:17px;width:17px}
.friend-action-description{font-size:11.5px;color:var(--muted);line-height:1.48}
.friend-privacy-note{margin:22px 0 0;color:var(--faint);font-size:12px;line-height:1.6;max-width:515px}
/* Direct conversation stays separate from the owner's own chat. */
.guest-chat-view{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.guest-chat-shell{width:min(690px,100%);padding:16px 26px 22px;margin:0 auto;display:flex;flex-direction:column;min-height:0;flex:1}
.guest-chat-header{display:flex;flex-direction:column;gap:13px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);padding-bottom:19px}
.guest-identity{display:flex;align-items:center;gap:13px}
.guest-identity .friend-assistant-art{width:60px;height:60px;border-radius:12px}
.guest-title{font-weight:590;font-size:18px;line-height:1.3}
.guest-subtitle{font-size:12px;color:var(--muted);margin-top:3px}
.guest-privacy{color:var(--faint);font-size:11.5px;line-height:1.45;margin:0}
.guest-thread{flex:1;min-height:0;overflow-y:auto;padding:31px 1px 20px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.guest-message{max-width:88%;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:23px}
.guest-message.mine{margin-left:auto;background:var(--surface2);border-radius:19px 19px 6px 19px;padding:11px 15px;width:max-content;max-width:80%}
.guest-compose{display:flex;align-items:center;gap:10px;padding:7px 8px 7px 17px;background:var(--surface2);border-radius:25px;border:1px solid transparent}
.guest-compose:focus-within{border-color:var(--line)}
.guest-compose input{background:transparent;border:0;outline:0;flex:1;min-width:0;font-size:14px}
.guest-compose input::placeholder{color:var(--muted);opacity:.8}
.guest-compose button{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;background:#dbe4eb;color:#23313e}
.guest-compose button .ico{height:18px;width:18px}
@media(max-width:990px){.friend-content{padding-inline:22px}.friend-profile-core{margin-top:36px}.friend-assistant-art{width:98px;height:98px}.friend-actions{grid-template-columns:1fr}.friend-action{min-height:76px}}
@media(max-width:620px){.friend-content{padding:12px 17px 32px}.friend-profile-core{margin-top:24px}.friend-avatar{width:64px;height:64px}.friend-fullname{font-size:22px}.friend-separator{margin:28px 0 22px}.friend-assistant-art{width:86px;height:86px}.friend-assistant-card{gap:12px;padding:10px}.friend-actions{gap:10px}.guest-chat-shell{padding:12px 17px 18px}}
@media(prefers-reduced-motion:reduce){.friend-action{transition:none}.friend-back{transition:none}}


/* Atlas18 018 — humane social encounter, no settings/dashboard cards. */
.friend-content{width:min(720px,100%);padding:17px 26px 66px}
.friend-profile-core{margin-top:38px}
.friend-person-head{gap:17px}
.friend-avatar{width:74px;height:74px}
.friend-fullname{font-size:28px;font-weight:570;letter-spacing:-.7px}
.friend-handle{font-size:12.5px}
.friend-relation{margin-top:7px}
.friend-separator{margin:37px 0 35px;background:color-mix(in srgb,var(--line) 46%,transparent)}
.friend-section-label{font-size:11.5px;letter-spacing:.015em;margin-bottom:10px}
.friend-assistant-focus{display:grid;grid-template-columns:182px minmax(0,1fr);gap:32px;align-items:center;min-height:185px}
.friend-hero-visual{display:grid;place-items:center;width:182px;height:182px;position:relative;isolation:isolate}
.friend-hero-visual:before{content:'';position:absolute;inset:9px;border-radius:44%;background:radial-gradient(circle,rgba(138,163,188,.12),transparent 70%);filter:blur(13px);z-index:-1}
.friend-hero-visual .friend-assistant-art{width:172px;height:172px;border-radius:19px;border:0;box-shadow:none;background:transparent;overflow:hidden;position:relative}
.friend-hero-visual .friend-assistant-art.is-atlas{border-radius:50%;background:radial-gradient(circle,rgba(128,155,183,.09) 2%,transparent 68%)}
.friend-hero-visual .friend-assistant-art.is-elis{height:178px;width:150px;border-radius:18px;background:#231d2b}
.friend-hero-visual .friend-assistant-art.is-elis img{object-position:50% 72%;object-fit:cover}
.friend-hero-visual .friend-assistant-art canvas{width:100%;height:100%}
.friend-intro{min-width:0;padding:5px 0}
.friend-assistant-name{font-size:32px;line-height:1.16;font-weight:565;letter-spacing:-.75px;margin:0 0 7px}
.friend-assistant-sub{font-size:13px;color:var(--muted)}
.friend-hello{color:var(--fg);opacity:.77;font-size:14px;line-height:1.66;margin:16px 0 0;max-width:360px}
.friend-ways{margin:32px 0 0;display:flex;flex-direction:column;gap:0}
.friend-action-line{display:flex;align-items:center;gap:15px;min-height:66px;padding:12px 9px;text-align:left;border-bottom:1px solid color-mix(in srgb,var(--line) 52%,transparent);color:var(--fg);border-radius:0;transition:background .15s}
.friend-action-line:first-child{border-top:1px solid color-mix(in srgb,var(--line) 52%,transparent)}
.friend-action-line:hover:not(:disabled){background:color-mix(in srgb,var(--surface2) 58%,transparent)}
.friend-action-line:focus-visible{outline:1px solid var(--focus-outline);outline-offset:1px}
.friend-action-line .action-icon{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:11px;color:var(--muted);background:var(--surface)}
.friend-action-line.featured .action-icon{background:var(--surface2);color:var(--fg)}
.friend-action-line .action-icon .ico{width:17px;height:17px}
.friend-action-text{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}
.friend-action-text strong{font-size:13.5px;font-weight:590;line-height:1.35}
.friend-action-text small{font-size:11.5px;color:var(--muted);line-height:1.55}
.friend-action-line .action-chevron{flex:none;width:17px;height:17px;color:var(--faint);transition:transform .15s}
.friend-action-line:hover .action-chevron{transform:translateX(3px);color:var(--fg)}
.friend-action-line:disabled{opacity:.57;cursor:not-allowed}
.friend-action-line:disabled .action-chevron{display:none}
.friend-intimacy-foot{display:flex;align-items:flex-start;gap:9px;color:var(--faint);margin-top:22px;font-size:11.5px;line-height:1.65}
.friend-intimacy-foot .ico{width:16px;height:16px;flex:none;margin-top:1px}
/* When visiting another assistant, the entire left scene belongs to the visitor's context. */
.scene.is-guest .reminders{display:none!important}
.guest-scene-overlay{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;pointer-events:none;padding:118px clamp(24px,3vw,42px) 38px}
.guest-scene-overlay[hidden]{display:none!important}
.guest-scene-overlay .visit-top{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.guest-scene-overlay .visit-kicker{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#e0e5ed;opacity:.85;text-shadow:0 2px 14px #000b}
.guest-scene-overlay .visit-back{pointer-events:auto;border:1px solid #e6ecf64d;background:#1019247c;backdrop-filter:blur(14px);color:#eff5f7;border-radius:12px;display:inline-flex;align-items:center;gap:9px;padding:9px 13px;font-size:12px;transition:background .15s}
.guest-scene-overlay .visit-back:hover{background:#1b2938dc}
.guest-scene-overlay .visit-back svg{width:15px;height:15px}
.guest-scene-overlay .visit-bottom{margin-top:auto;text-align:left;color:#fff;text-shadow:0 2px 20px #050914d6;max-width:420px}
.guest-scene-overlay .visit-bottom small{display:block;letter-spacing:.025em;font-size:12px;color:#e1e6ef;margin-bottom:3px}
.guest-scene-overlay .visit-bottom strong{display:block;font-size:28px;font-weight:560;line-height:1.25;letter-spacing:-.5px}
.guest-scene-overlay .visit-bottom span{display:block;font-size:12px;color:#e6e8ee;margin-top:6px}
.scene.is-guest:after{background:linear-gradient(180deg,#05080d8c,transparent 32%,transparent 48%,#05070bc2)!important}
.scene.is-guest.is-orb{background:#111923}
.scene.is-guest.is-orb .orb-cover{background:#111923}
body.light .scene.is-guest.is-orb,body.light .scene.is-guest.is-orb .orb-cover{background:#edf1f4}
body.light .scene.is-guest.is-orb:after{background:linear-gradient(180deg,#364e5e09,transparent 55%,#1b293a19)!important}
body.light .scene.is-guest.is-orb .brand{color:#293848;text-shadow:none}
body.light .scene.is-guest.is-orb .visit-kicker,body.light .scene.is-guest.is-orb .visit-bottom,body.light .scene.is-guest.is-orb .visit-bottom small,body.light .scene.is-guest.is-orb .visit-bottom span{color:#293848;text-shadow:none}
body.light .scene.is-guest.is-orb .visit-back{background:#ffffffc7;color:#293848;border-color:#c4ced8;backdrop-filter:blur(15px)}
body.light .scene.is-guest.is-orb .visit-back:hover{background:#fff}
/* Dedicated visitor conversation: one speaker, no extra policy banners. */
.guest-chat-shell{width:min(740px,100%);padding:15px 26px 22px}
.guest-chat-header{gap:0;padding-bottom:20px}
.guest-chat-header .friend-back{margin-bottom:24px}
.guest-identity{gap:13px}
.guest-identity .friend-assistant-art{width:51px;height:51px;border-radius:12px;background:#121923}
.guest-identity .friend-assistant-art.is-atlas{background:var(--surface)}
.guest-title{font-size:21px;font-weight:570;letter-spacing:-.4px}
.guest-subtitle{font-size:12px;margin-top:4px}
.guest-visit-chip{color:var(--faint);font-size:11px;margin-top:13px}
.guest-thread{padding:34px 3px 12px;scrollbar-gutter:stable}
.guest-date{text-align:center;font-size:11px;color:var(--faint);margin:0 0 26px}
.guest-message{font-size:14.5px;line-height:1.67;margin-bottom:24px;max-width:86%}
.guest-message:not(.mine){white-space:pre-wrap}
.guest-message.mine{border-radius:18px 18px 6px 18px;padding:10px 15px;max-width:78%}
.guest-compose{min-height:51px;border-radius:25px}
.guest-compose button{width:34px;height:34px}
.guest-consent{border-left:2px solid color-mix(in srgb,var(--muted) 58%,transparent);padding:3px 0 4px 15px;max-width:450px;margin:-9px 0 27px}
.guest-consent p{color:var(--muted);font-size:12px;line-height:1.6;margin:0 0 11px}
.guest-consent button{border:1px solid var(--line);background:var(--surface2);font-size:12px;padding:9px 13px;border-radius:10px}
.guest-consent button:hover{background:var(--button)}
.guest-consent.is-pending p{margin-bottom:0}
@media(max-width:1110px){.friend-content{padding-inline:24px}.friend-assistant-focus{grid-template-columns:152px minmax(0,1fr);gap:23px}.friend-hero-visual{width:150px;height:166px}.friend-hero-visual .friend-assistant-art{width:144px;height:144px}.friend-hero-visual .friend-assistant-art.is-elis{width:135px;height:160px}.friend-assistant-name{font-size:29px}}
@media(max-width:810px){.friend-assistant-focus{grid-template-columns:118px minmax(0,1fr);gap:18px}.friend-hero-visual{width:118px;height:145px}.friend-hero-visual .friend-assistant-art{width:116px;height:116px}.friend-hero-visual .friend-assistant-art.is-elis{width:110px;height:142px}.friend-assistant-name{font-size:26px}.friend-hello{font-size:13px}.guest-scene-overlay{padding:96px 20px 24px}}
@media(max-width:620px){.friend-content{padding:12px 18px 35px}.friend-profile-core{margin-top:26px}.friend-avatar{width:63px;height:63px}.friend-separator{margin:27px 0}.friend-assistant-focus{grid-template-columns:100px minmax(0,1fr);gap:13px}.friend-hero-visual{width:100px;height:126px}.friend-hero-visual .friend-assistant-art{width:98px;height:98px}.friend-hero-visual .friend-assistant-art.is-elis{width:94px;height:123px}.friend-assistant-name{font-size:23px}.friend-hello{font-size:12px;margin-top:9px}.friend-ways{margin-top:25px}.friend-action-line{min-height:60px}.guest-chat-shell{padding:12px 18px 18px}.guest-scene-overlay{padding:68px 16px 11px}.guest-scene-overlay .visit-top{gap:5px}.guest-scene-overlay .visit-kicker{font-size:9px}.guest-scene-overlay .visit-back{padding:5px 8px;font-size:10px}.guest-scene-overlay .visit-bottom strong{font-size:17px}.guest-scene-overlay .visit-bottom small,.guest-scene-overlay .visit-bottom span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.friend-action-line,.friend-action-line .action-chevron,.guest-scene-overlay .visit-back{transition:none}}


/* Atlas18 019 — one targeted vertical-rhythm correction to approved friend pages.
   Keep original hero art, assistant avatar and all non-friend screens untouched.
   At ordinary 720–830px desktop heights, both actions should be in the first view. */
@media (min-width:621px) and (max-height:830px){
  .friend-content{padding-top:12px}
  .friend-profile-core{margin-top:20px}
  .friend-separator{margin-top:20px;margin-bottom:19px}
  .friend-assistant-focus{min-height:178px}
  .friend-ways{margin-top:17px}
  .friend-intimacy-foot{margin-top:16px}
}

/* Atlas18 020 — friend page only: both primary actions in the initial viewport.
   No reduction of Elis art, no layout changes to core chat or guest conversation. */
@media (min-width:621px) and (max-height:830px){
  .friend-content{padding-top:6px}
  .friend-profile-core{margin-top:8px}
  .friend-separator{margin-top:12px;margin-bottom:12px}
  .friend-section-label{margin-bottom:5px}
  .friend-hello{margin-top:8px;line-height:1.55}
  .friend-ways{margin-top:11px}
  .friend-action-line{min-height:60px;padding-block:9px}
  .friend-intimacy-foot{margin-top:12px}
}
@media (min-width:621px) and (max-height:610px){
  .friend-profile-core{margin-top:4px}
  .friend-separator{margin-block:8px}
  .friend-ways{margin-top:7px}
  .friend-action-line{min-height:56px;padding-block:7px}
}
.relay-draft-hint{max-width:var(--atlas-chat-width);margin:6px auto 0;padding:0 14px;font-size:12px;line-height:1.45;color:var(--muted)}
.composer .send:disabled{opacity:.45;background:var(--button);color:var(--muted);cursor:not-allowed}
/* Atlas18 021 — two isolated UI refinements, all established spacing preserved. */
/* "Все" is a system folder: reserve the trailing menu lane for count alignment,
   but never render a menu button or any three-dot affordance. */
@media(min-width:811px){
  .folders-col .folder-actions.system-folder::after{content:"";flex:0 0 25px;width:25px}
}

/* DESIGN 023 — privacy, public profiles and consent: quiet Atlas18 UI language. */
.privacy-023{max-width:655px;padding-bottom:26px}
.privacy-023 .p23-lead{font-size:13px;color:var(--muted);line-height:1.65;margin:0 0 25px;max-width:550px}
.privacy-023 .p23-section{margin:0 0 28px}
.privacy-023 h3{margin:0 0 9px!important;font-size:15px;letter-spacing:-.14px;font-weight:620}
.privacy-023 .p23-sub{font-size:12px;line-height:1.65;color:var(--muted);margin:0 0 14px;max-width:570px}
.p23-choice-list{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.p23-choice{position:relative;display:flex;align-items:center;width:100%;min-height:59px;gap:15px;padding:12px 5px;text-align:left;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent)}
.p23-choice:last-child{border:0}.p23-choice:hover{background:color-mix(in srgb,var(--surface2) 35%,transparent)}
.p23-radio{width:18px;height:18px;border:1.5px solid var(--faint);border-radius:50%;flex:none;display:grid;place-items:center}
.p23-choice[aria-checked="true"] .p23-radio{border-color:var(--fg)}
.p23-choice[aria-checked="true"] .p23-radio:after{content:"";width:8px;height:8px;background:var(--fg);border-radius:50%}
.p23-choice-text{display:flex;flex-direction:column;flex:1;gap:2px;line-height:1.4}
.p23-choice-text strong{font-size:13px;font-weight:540}.p23-choice-text small{font-size:11.5px;color:var(--muted)}
.p23-under{margin:13px 0 2px;padding:0 0 0 33px}
.p23-friend-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px;padding:5px 0 0}
.p23-select-contact{display:flex;align-items:center;gap:10px;padding:9px 7px;border-radius:11px;font-size:12.5px;cursor:pointer}
.p23-select-contact:hover{background:var(--surface2)}
.p23-select-contact .p23-small-face{height:29px;width:29px;overflow:hidden;display:block;flex:none}.p23-small-face svg{width:100%;height:100%}
.p23-select-contact input{margin-left:auto;width:16px;height:16px;accent-color:#71899b}
.p23-share-friend-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 8px;margin-top:1px}.p23-share-friend-list[hidden]{display:none!important}.p23-share-friend-list label{display:flex;align-items:center;gap:7px;padding:7px;color:var(--fg);font-size:11.5px}.p23-share-friend-list input{width:15px;height:15px;accent-color:#71899b}
.p23-permission-list{display:grid;gap:0;border-top:1px solid var(--line)}
.p23-permission-item{display:flex;align-items:center;gap:13px;min-height:65px;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent);padding:12px 3px}
.p23-permission-icon{height:34px;width:34px;border-radius:10px;display:grid;place-items:center;background:var(--surface);color:var(--muted);flex:none}
.p23-permission-icon .ico{width:16px;height:16px}
.p23-permission-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.p23-permission-text strong{font-size:12.8px;font-weight:550;overflow-wrap:anywhere}.p23-permission-text small{font-size:11px;color:var(--muted)}
.p23-text-button{font-size:12px;color:var(--muted);white-space:nowrap;padding:8px 7px;border-radius:8px}.p23-text-button:hover{background:var(--surface2);color:var(--fg)}
.p23-empty{padding:15px 0 10px;font-size:12px;line-height:1.6;color:var(--muted)}
.p23-add{margin-top:13px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.p23-add button{border:1px solid var(--line);padding:9px 13px;border-radius:10px;font-size:12px;color:var(--fg)}.p23-add button:hover{background:var(--surface2)}
.p23-inline-form{display:grid;gap:9px;margin-top:13px;padding:14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 45%,transparent)}
.p23-inline-form label{display:grid;gap:5px;color:var(--muted);font-size:11px}.p23-inline-form input,.p23-inline-form select{background:var(--input);color:var(--fg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-width:0;font-size:12px}
.p23-form-actions{display:flex;align-items:center;gap:9px}.p23-form-actions .p23-save{background:var(--surface2);border-radius:10px;padding:9px 14px;font-size:12px}
.p23-conversation{border-top:1px solid var(--line);padding:16px 0 2px;display:flex;gap:15px;align-items:flex-start}
.p23-conversation .p23-convo-icon{width:35px;height:35px;flex:none;display:grid;place-items:center;border-radius:10px;background:var(--surface2);color:var(--muted)}
.p23-conversation strong{display:block;font-size:13px;font-weight:580}.p23-conversation p{font-size:12px;color:var(--muted);margin:4px 0 10px;line-height:1.6}.p23-conversation button{font-size:12px;padding:8px 0;color:var(--fg);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--faint)}
.p23-request{display:flex;gap:12px;border-top:1px solid var(--line);padding:16px 0;align-items:flex-start}
.p23-request .p23-request-avatar{width:38px;height:38px;flex:none;overflow:hidden}.p23-request-avatar svg{width:100%;height:100%}
.p23-request-body{flex:1;min-width:0;font-size:12.5px;line-height:1.55}.p23-request-body strong{font-weight:600}.p23-request-body p{margin:5px 0 10px;color:var(--muted)}
.p23-request-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.p23-request-actions button{font-size:12px;padding:8px 12px;border-radius:10px;border:1px solid var(--line)}.p23-request-actions button:first-child{background:var(--surface2);border-color:var(--surface2)}.p23-request-actions button:hover{background:var(--button)}
.p23-small-note{font-size:11px;color:var(--faint);line-height:1.6;margin-top:10px}
/* Public lookup: same hero proportions as approved friend page. */
.friend-profile-core.p23-stranger .friend-separator{margin-top:17px}
.p23-public-copy{max-width:480px;padding:4px 0 0;color:var(--muted);font-size:13px;line-height:1.7}
.p23-public-invite{padding:8px 0 14px;margin-top:9px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.p23-invite-button{display:inline-flex;align-items:center;gap:7px;border-radius:11px;background:var(--surface2);font-size:12.5px;padding:11px 15px;min-height:39px;color:var(--fg)}.p23-invite-button:hover:not(:disabled){background:var(--button)}
.p23-invite-button.secondary{background:var(--surface);border:1px solid var(--line)}
.p23-invite-button:disabled{opacity:.63;cursor:default}
.p23-invite-caption{font-size:11.5px;line-height:1.6;color:var(--muted)}
.p23-locked-action{display:flex;align-items:center;gap:14px;min-height:56px;border-top:1px solid var(--line);padding:10px 5px;color:var(--faint)}
.p23-locked-action .ico{width:17px;height:17px}.p23-locked-action span{font-size:12.5px}.p23-locked-action small{display:block;color:var(--faint);font-size:11.5px}
.p23-status{font-size:12px;line-height:1.45;color:var(--muted);margin-top:12px;display:flex;align-items:center;gap:7px}.p23-status svg{width:15px;height:15px;flex:none}
.p23-profile-preview{border-top:1px solid var(--line);margin:18px 0 0;padding:20px 0 0}
.p23-profile-preview h3{font-size:14px;font-weight:570;margin:0 0 6px}.p23-profile-preview p{font-size:12px;color:var(--muted);line-height:1.55;max-width:450px}
.p23-preview-nav{padding:12px 0;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.p23-preview-nav button{font-size:11px;border:1px solid var(--line);color:var(--muted);padding:6px 10px;border-radius:9px}.p23-preview-nav button:hover{color:var(--fg);background:var(--surface2)}
/* Consent in foreign chat: state is clear but quiet, not a warning banner. */
.guest-consent .p23-consent-state{display:flex;align-items:center;gap:7px;margin:0 0 9px;color:var(--muted);font-size:11.5px}
.guest-consent .p23-consent-state .ico{width:15px;height:15px}
.guest-consent .p23-review{font-size:10.5px;line-height:1.7;color:var(--faint);margin:9px 0 0}
.guest-consent .p23-review button{font-size:10.5px;padding:2px 5px;border:0;border-radius:5px;background:transparent;color:var(--faint)}
.guest-consent .p23-review button:hover{color:var(--fg);background:var(--surface2)}
.guest-consent.is-rejected{border-color:var(--faint)}.guest-consent.is-approved{border-color:var(--muted)}
.p23-chat-setup{margin:16px 0 25px;max-width:690px}.p23-chat-setup .p23-setup-actions{display:flex;gap:8px;margin:12px 0 8px;flex-wrap:wrap}.p23-chat-setup .p23-setup-actions button{border:1px solid var(--line);border-radius:11px;background:var(--surface2);font-size:12px;padding:9px 13px}.p23-chat-setup .p23-setup-actions button+button{background:transparent}
@media(max-width:950px){.p23-friend-picker{grid-template-columns:1fr}.privacy-023{max-width:100%}}
@media(max-width:620px){.p23-under{padding-left:5px}.p23-choice{min-height:55px}.p23-conversation{gap:10px}.p23-profile-preview{margin-top:14px}.p23-invite-caption{flex-basis:100%}}


/* DESIGN 025 — compact PIN & quiet privacy states. Never changes approved friends composition. */
.pin-slot .pin-panel{max-width:270px;margin:7px auto 0;padding-bottom:1px;outline:0}
.pin-slot .pin-panel p{margin:5px 0 8px;font-size:12px}
.pin-slot .pin-panel .pin-dots{font-size:24px;letter-spacing:7px;margin:7px 0 10px;line-height:1.3}
.pin-slot .pin-panel .keypad{max-width:258px;gap:5px}
.pin-slot .pin-panel .keypad button{height:41px;min-height:41px;padding:3px 0;font-size:18px;border-radius:10px}
.pin-slot .pin-panel .keypad button:focus-visible{outline:1px solid var(--focus-outline);outline-offset:0}
.pin-slot .pin-panel .pin-continue{width:100%;margin-top:9px;padding:9px 13px;min-height:37px}
.pin-slot .pin-panel .pin-cancel{display:block;margin:6px auto 0;padding:5px 11px}
.pin-slot h4{font-size:14px;margin:7px 0 4px}
.p23-request .p23-archived{font-size:11.5px;color:var(--muted);line-height:1.6}
.p23-request .p23-restricted{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:11.5px}
.p23-scope-note{margin:13px 0 0;font-size:11.5px;line-height:1.65;color:var(--muted)}
.p23-review{font-size:11px;color:var(--faint)}
.p23-review::before{content:'ДЕМО';font-weight:650;font-size:10px;letter-spacing:.06em;margin-right:6px;color:var(--muted)}

/* DESIGN 026 — categories, quick answers and quiet grouped questions */
.p26-category-list{border-top:1px solid var(--line)}
.p26-category{border-bottom:1px solid var(--line);padding:15px 2px 16px}
.p26-category-head{display:flex;gap:12px;align-items:center;justify-content:space-between}
.p26-category-name{font-size:13.5px;font-weight:610;letter-spacing:-.1px}
.p26-category-desc{font-size:11.5px;color:var(--muted);line-height:1.55;margin:4px 0 0}
.p26-audience{min-width:156px;max-width:200px;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:9px 10px;color:var(--fg);font-size:11.5px}
.p26-topics{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0 0}
.p26-topic{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--muted);border:1px solid var(--line);border-radius:9px;padding:7px 10px;cursor:pointer}
.p26-topic input{accent-color:#8094a5;width:14px;height:14px;margin:0}
.p26-topic:has(input:checked){color:var(--fg);background:var(--surface2)}
.p26-recipient-block{margin:12px 0 0 0}.p26-recipient-title{font-size:11px;color:var(--muted);margin-bottom:7px}
.p26-note{color:var(--muted);font-size:11.5px;line-height:1.62;margin:12px 0 0}
.p26-special{margin-top:10px;color:var(--muted);font-size:11.5px;line-height:1.7}
.p26-chat-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.p26-chat-actions button,.p26-example-chip{font-size:12px;border-radius:10px;border:1px solid var(--line);padding:8px 11px;color:var(--fg);background:var(--surface)}
.p26-chat-actions button:first-child{background:var(--surface2)}
.p26-chat-actions button:hover,.p26-example-chip:hover{background:var(--surface2)}
.p26-examples{display:flex;flex-wrap:wrap;gap:7px;margin:7px 0 17px}
.p26-examples-title{color:var(--faint);font-size:11px;margin:4px 0 8px}
.p26-collect{border-top:1px solid var(--line);padding:15px 0 0;margin:4px 0 25px}
.p26-collect-title{font-size:13px;font-weight:590}
.p26-collect p{font-size:12px;color:var(--muted);line-height:1.65;margin:7px 0 12px}
.p26-collect-form{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:11px 0}
.p26-collect-form label{font-size:11px;color:var(--muted);display:grid;gap:6px}
.p26-collect-form input{width:100%;min-width:0;background:var(--input);border:1px solid var(--line);border-radius:9px;padding:9px 10px;color:var(--fg);font-size:12px}
.p26-status{font-size:11.5px;color:var(--muted);padding:9px 0;line-height:1.55}
.p26-mini{font-size:11px;color:var(--faint);margin-top:8px;line-height:1.6}
.p26-exclude-form{display:flex;gap:8px;margin:10px 0 4px;align-items:center}
.p26-exclude-form input{flex:1;min-width:0;background:var(--input);color:var(--fg);border:1px solid var(--line);padding:10px 12px;border-radius:10px;font-size:12px}
.p26-exclude-form button{font-size:11.5px;white-space:nowrap;border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--fg)}
.p26-exclude-form button:hover{background:var(--surface2)}
@media(max-width:800px){.p26-exclude-form{flex-wrap:wrap}.p26-exclude-form input{flex-basis:100%}}
@media(max-width:800px){.p26-category-head{align-items:flex-start;flex-direction:column;gap:10px}.p26-audience{max-width:100%;width:100%}.p26-collect-form{grid-template-columns:1fr}}

/* ATLAS18 DESIGN 027 — isolated authentication and lifecycle UX study.
   Existing Web/Desktop 026 scene, navigation and views are untouched. */
.atlas27-auth{position:fixed;inset:0;z-index:110;background:var(--bg);color:var(--fg);display:grid;grid-template-columns:minmax(310px,42%) minmax(0,1fr);overflow:auto}
.atlas27-auth[hidden]{display:none!important}
.a27-stage{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:46px 32px;background:#111923;overflow:hidden}
body.light .a27-stage{background:#edf1f4}
.a27-stage:after{content:"";pointer-events:none;position:absolute;inset:0;background:radial-gradient(circle at center,#9cb8d011 0%,transparent 61%)}
.a27-stage .a27-wordmark{position:absolute;top:32px;left:38px;font:400 40px/1 'Instrument Serif',Georgia,serif;color:#edf1f4;z-index:1}
body.light .a27-stage .a27-wordmark{color:#273443}
.a27-stage canvas{width:min(90%,360px);height:auto;aspect-ratio:1;position:relative;z-index:1}
.a27-stage .a27-stage-bottom{position:absolute;z-index:1;bottom:42px;left:38px;right:38px;max-width:370px;color:#b6c2ce}
body.light .a27-stage .a27-stage-bottom{color:#566778}
.a27-stage-bottom strong{font-size:15px;font-weight:530;display:block;color:#ecf1f7;margin-bottom:8px}
body.light .a27-stage-bottom strong{color:#23303b}
.a27-stage-bottom p{font-size:13px;line-height:1.7;margin:0}
.a27-pane{min-height:100dvh;display:flex;flex-direction:column;background:var(--bg)}
.a27-pane-head{height:80px;padding:22px clamp(24px,4vw,60px);display:flex;align-items:center;justify-content:space-between;gap:12px}
.a27-pane-head span{font-size:11px;letter-spacing:.08em;color:var(--faint)}
.a27-close{font-size:12px;color:var(--muted);padding:7px 0;text-align:right}
.a27-close:hover{color:var(--fg)}
.a27-body{width:min(425px,calc(100% - 44px));margin:auto;min-height:320px;padding:10px 0 38px}
.a27-eyebrow{font-size:11px;letter-spacing:.07em;color:var(--muted);margin-bottom:17px;text-transform:uppercase}
.a27-body h1{font-size:29px;line-height:1.2;letter-spacing:-.7px;font-weight:580;margin:0 0 13px}
.a27-lead{font-size:14px;line-height:1.75;color:var(--muted);margin:0 0 27px}
.a27-row{display:flex;align-items:center;gap:10px}
.a27-row>*{min-width:0}
.a27-form{display:grid;gap:15px}
.a27-field{display:grid;gap:7px;font-size:12px;color:var(--muted)}
.a27-field input{height:47px;border:1px solid var(--line);border-radius:12px;background:var(--input);padding:10px 14px;font-size:14px;color:var(--fg);width:100%;outline:0}
.a27-field input:focus{border-color:var(--focus-outline)}
.a27-field input::placeholder{color:var(--faint)}
.a27-main-btn{min-height:45px;padding:10px 18px;background:#dbe5ed;color:#20303e;border-radius:12px;font-weight:600;font-size:13px;width:100%;text-align:center}
.a27-main-btn:hover:not(:disabled){background:#f1f5fa}
.a27-main-btn:disabled{opacity:.48}
.a27-outline{min-height:44px;padding:10px 15px;border:1px solid var(--line);border-radius:12px;text-align:center;width:100%;font-size:13px}
.a27-outline:hover{background:var(--surface2)}
.a27-link{padding:6px 0;color:var(--muted);font-size:12.5px;text-decoration:underline;text-underline-offset:3px;text-align:left}
.a27-link:hover{color:var(--fg)}
.a27-links{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:20px}
.a27-note{border-top:1px solid color-mix(in srgb,var(--line) 67%,transparent);margin-top:25px;padding-top:15px;font-size:11.5px;line-height:1.6;color:var(--faint)}
.a27-error{font-size:12.5px;line-height:1.6;color:#d8a8a8;min-height:0}
.a27-error:empty{display:none}
body.light .a27-error{color:#97515e}
.a27-demo{background:var(--surface);padding:12px 15px;border-radius:12px;color:var(--muted);font-size:12px;line-height:1.6;margin-top:14px}
.a27-demo strong{color:var(--fg)}
.a27-divider{display:flex;gap:12px;align-items:center;color:var(--faint);font-size:11px;margin:12px 0}
.a27-divider:before,.a27-divider:after{content:"";height:1px;background:var(--line);flex:1}
.a27-code-list{display:grid;gap:8px;margin:18px 0}
.a27-code{padding:11px 15px;border-radius:10px;background:var(--surface);font:500 13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.06em;color:var(--fg)}
.a27-progress{display:flex;gap:5px;margin-bottom:23px}
.a27-progress span{height:3px;flex:1;border-radius:4px;background:var(--line)}
.a27-progress span.on{background:#859cac}
.a27-choice{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:13px 14px;width:100%;text-align:left;font-size:13px;margin-bottom:10px}
.a27-choice:hover{background:var(--surface2)}
.a27-choice .a27-choice-text{display:grid;gap:2px;flex:1}
.a27-choice .a27-choice-text small{font-size:11.5px;color:var(--muted)}
.a27-inline-alert{padding:13px 14px;background:var(--surface);border-radius:12px;color:var(--muted);font-size:12.5px;line-height:1.65;margin:14px 0}
.a27-inline-alert b{font-weight:620;color:var(--fg)}
.a27-pane-footer{padding:18px clamp(24px,4vw,60px) 24px;color:var(--faint);font-size:11px}
.a27-status{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;margin-bottom:16px}
.a27-status:before{content:"";height:7px;width:7px;border:1px solid var(--muted);border-radius:50%}
.a27-list{font-size:13px;color:var(--muted);padding-left:18px;line-height:1.8}
.a27-short-btn{white-space:nowrap;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:12px;color:var(--muted)}
.a27-short-btn:hover{background:var(--surface2);color:var(--fg)}
@media(max-width:850px){.atlas27-auth{grid-template-columns:minmax(200px,32%) minmax(0,1fr)}.a27-stage{padding:25px 12px}.a27-stage .a27-wordmark{font-size:31px;left:22px}.a27-stage-bottom{display:none}.a27-body{width:min(430px,calc(100% - 36px))}}
@media(max-width:620px){.atlas27-auth{display:flex;flex-direction:column;overflow:auto}.a27-stage{min-height:120px;height:120px;padding:0;flex:none}.a27-stage .a27-wordmark{top:25px;left:23px}.a27-stage canvas{width:115px;position:absolute;right:14px;top:3px}.a27-pane{min-height:calc(100dvh - 120px)}.a27-pane-head{height:48px;padding:10px 23px}.a27-body{width:calc(100% - 44px);padding:24px 0}.a27-pane-footer{padding:16px 23px}}
/* Keep the longest registration step visible on ordinary 768px laptop screens. */
.a27-body{padding-bottom:12px}
.a27-progress{margin-bottom:14px}
.a27-body h1{margin-bottom:9px}
.a27-lead{margin-bottom:18px}
.a27-code-list{margin:10px 0;gap:6px}
.a27-code{padding:8px 13px}
.a27-note{margin-top:15px;padding-top:10px}
.a27-pane-footer{padding-bottom:13px}

/* DESIGN 027: supplementary functional states; no change to existing layout. */
.a27-sync-banner{flex:none;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:38px;padding:6px clamp(28px,5vw,90px);background:var(--surface);border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
.a27-sync-banner[hidden]{display:none!important}
.a27-sync-banner button{font-size:12px;color:var(--fg);text-decoration:underline;text-underline-offset:3px}
.a27-queue-label{font-size:10.5px;color:var(--faint);text-align:right;margin-top:4px}
.a27-rem-list{display:grid;gap:0;margin:12px 0}
.a27-rem-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}
.a27-rem-row .content{min-width:0;flex:1;display:grid;gap:2px}
.a27-rem-row .content small{color:var(--muted);font-size:11px}
.a27-rem-row button{font-size:11.5px;border:1px solid var(--line);border-radius:9px;padding:6px 9px;white-space:nowrap}
.a27-rem-row button:hover{background:var(--surface2)}
.a27-rem-status{font-size:10px;letter-spacing:.03em;color:var(--muted)}

/* Atlas18 028 — final-facing entry screen, built on the original 027 auth flows.
   All changes are scoped to the auth layer; no app views, room, orb algorithm or navigation changed. */
.atlas27-auth{
  grid-template-columns:minmax(350px,42%) minmax(0,1fr);
  background:#0c1218;
}
.a27-stage{
  background:radial-gradient(ellipse 56% 48% at 50% 46%,#293746 0%,#1b2632 43%,#111a24 74%,#0d151e 100%);
  isolation:isolate;
  padding:44px clamp(26px,3.4vw,56px);
}
.a27-stage:after{
  background:radial-gradient(circle at 47% 48%,#7890a30e 0%,#7890a304 30%,transparent 70%);
}
.a27-stage .a27-wordmark{
  top:40px;left:clamp(30px,3.5vw,60px);
  font-size:42px;letter-spacing:-1.35px;font-weight:400;
  text-shadow:none;color:#eff2f5;
}
.a28-orb-stage{
  position:absolute;inset:15% 4% 14%;display:grid;place-items:center;
  pointer-events:none;isolation:isolate;
}
.a28-orb-stage canvas{
  width:clamp(240px,80%,420px);max-height:80%;height:auto;aspect-ratio:1;
  filter:drop-shadow(0 4px 45px #b0bed112);
}
.a27-stage .a27-stage-bottom{
  bottom:clamp(40px,6.4vh,75px);
  left:clamp(30px,3.5vw,60px);right:clamp(30px,3.5vw,60px);
  max-width:430px;
}
.a28-manifest{
  font-size:10px;letter-spacing:.24em;font-weight:620;color:#8998a8;
  display:block;margin-bottom:15px;
}
.a27-stage-bottom strong{
  font-size:clamp(21px,1.8vw,27px);font-weight:510;line-height:1.33;
  letter-spacing:-.6px;color:#f1f4f6;margin:0 0 10px;
}
.a27-stage-bottom p{font-size:13px;line-height:1.7;letter-spacing:.01em;color:#b1bdc9;}
.a27-pane{
  background:radial-gradient(ellipse 90% 70% at 54% 13%,#121b24 0%,#0e151d 56%,#0b1117 100%);
  position:relative;
}
.a27-pane-head{height:88px;padding:24px clamp(34px,4.5vw,82px)}
.a28-pane-symbol{display:block;width:32px;height:1px;background:#778a984b}
.a27-close{font-size:12px;color:#9baaba}
.atlas27-auth[data-auth-step="welcome"] .a27-close{visibility:hidden;pointer-events:none}
.a27-body{
  width:min(456px,calc(100% - 64px));max-width:456px;
  padding:16px 0 32px;
}
.a28-welcome-copy{margin-bottom:35px}
.a28-welcome-line{
  color:#9faebd;font-size:11px;font-weight:570;letter-spacing:.11em;
  margin-bottom:19px;
}
.a28-welcome-copy h1{
  font-size:clamp(30px,3vw,44px);line-height:1.17;font-weight:550;
  letter-spacing:-1.5px;margin:0 0 18px;max-width:450px;
}
.a28-welcome-copy .a27-lead{
  color:#aab8c6;font-size:14px;line-height:1.75;
  letter-spacing:-.05px;margin:0;max-width:425px;
}
.a28-methods{display:grid;gap:11px}
.a28-method{
  min-height:55px;width:100%;display:grid;grid-template-columns:30px 1fr 30px;
  gap:11px;align-items:center;padding:12px 17px;
  border:1px solid #374553;background:#18222e77;border-radius:14px;
  color:#ecf1f5;text-align:left;font-size:14px;letter-spacing:-.08px;
  transition:background .16s,border-color .16s,transform .16s;
}
.a28-method:hover{background:#273441;border-color:#647484;transform:translateY(-1px)}
.a28-method:focus-visible{outline:2px solid #a0bbd3;outline-offset:3px}
.a28-method-icon{width:21px;height:21px;display:block;flex:none;color:inherit}
.a28-method-tail{justify-self:end;font-size:18px;color:#8493a2;font-weight:400;opacity:0;transform:translateX(-5px);transition:opacity .16s,transform .16s}
.a28-method:hover .a28-method-tail,.a28-method:focus-visible .a28-method-tail{opacity:1;transform:none}
.a28-rule{display:flex;align-items:center;gap:16px;font-size:11px;color:#7c8b9a;margin:8px 0}
.a28-rule:before,.a28-rule:after{content:"";height:1px;background:#33404c66;flex:1}
.a28-method-primary{
  background:#dce5ec;border-color:#dce5ec;color:#192833;font-weight:570;
}
.a28-method-primary:hover{background:#f1f5f8;border-color:#f1f5f8}
.a28-method-primary .a28-method-tail{color:#425665}
.a28-create{display:flex;justify-content:center;gap:7px;align-items:center;margin:22px 0 0;color:#8191a0;font-size:12.5px}
.a28-create .a27-link{color:#cedae3;font-size:12.5px;text-decoration:underline;text-underline-offset:4px;padding:0}
.a28-demo{margin:35px 0 0;padding-top:18px;border-top:1px solid #33404c88;display:flex;justify-content:center}
.a28-demo button{font-size:12.5px;color:#a2b0bd;padding:10px 14px;border-radius:9px;transition:color .16s,background .16s}
.a28-demo button:hover{color:#eff4f8;background:#ffffff0a}
.a28-demo button span{margin-left:7px;opacity:.75}
.a27-pane-footer{
  display:flex;justify-content:space-between;gap:12px;
  padding:15px clamp(34px,4.5vw,82px) 28px;
  color:#687887;font-size:10.5px;letter-spacing:.01em;
}
.a27-body:not(:has(.a28-welcome-copy)){max-width:438px}
.a27-body:not(:has(.a28-welcome-copy)) h1{font-size:28px}
.a27-body:not(:has(.a28-welcome-copy)) .a27-lead{line-height:1.65}
/* Theme: respect the saved app choice, while first-time accounts default to dark. */
body.light .atlas27-auth{background:#f4f6f8}
body.light .a27-stage{
  background:radial-gradient(ellipse 65% 53% at 50% 46%,#e4ebf1 0%,#dde5ec 48%,#d2dde6 100%);
}
body.light .a27-stage:after{background:none}
body.light .a27-stage .a27-wordmark{color:#263746}
body.light .a28-manifest{color:#758697}
body.light .a27-stage-bottom strong{color:#263646}
body.light .a27-stage-bottom p{color:#627587}
body.light .a27-pane{background:radial-gradient(ellipse 85% 60% at 60% 18%,#fff 0%,#f7f9fb 74%,#f4f6f8 100%)}
body.light .a28-pane-symbol{background:#8998a746}
body.light .a28-welcome-line{color:#728294}
body.light .a28-welcome-copy .a27-lead{color:#627587}
body.light .a28-method{background:#ffffffb9;border:1px solid #d8e0e7;color:#233242}
body.light .a28-method:hover{background:#fff;border-color:#a5b4c1}
body.light .a28-method-primary{background:#273846;border-color:#273846;color:#f6f8fa}
body.light .a28-method-primary:hover{background:#192b3a;border-color:#192b3a}
body.light .a28-method-primary .a28-method-tail{color:#edf2f5}
body.light .a28-method-tail{color:#8898a8}
body.light .a28-rule{color:#8494a4}
body.light .a28-rule:before,body.light .a28-rule:after{background:#dbe2e9}
body.light .a28-create{color:#7b8998}
body.light .a28-create .a27-link{color:#354959}
body.light .a28-demo{border-color:#d8e1e8}
body.light .a28-demo button{color:#566b7c}
body.light .a28-demo button:hover{color:#273b4d;background:#e6ecf1}
body.light .a27-pane-footer{color:#98a5b0}
@media(max-width:1090px) and (min-width:621px){
  .atlas27-auth{grid-template-columns:minmax(285px,36%) minmax(0,1fr)}
  .a27-stage .a27-stage-bottom{bottom:42px}
  .a28-orb-stage canvas{width:min(92%,380px)}
  .a27-body{width:min(430px,calc(100% - 62px))}
  .a28-welcome-copy h1{font-size:35px}
}
@media(max-height:760px) and (min-width:621px){
  .a27-stage .a27-stage-bottom{bottom:24px}
  .a27-stage-bottom strong{font-size:21px}
  .a28-orb-stage{inset:15% 2% 24%}
  .a27-pane-head{height:62px}
  .a27-body{padding:7px 0 16px}
  .a28-welcome-copy{margin-bottom:22px}
  .a28-welcome-copy h1{font-size:31px;margin-bottom:13px}
  .a28-welcome-copy .a27-lead{font-size:13px}
  .a28-method{min-height:49px;padding:9px 15px}
  .a28-methods{gap:8px}
  .a28-rule{margin:3px 0}
  .a28-create{margin-top:16px}
  .a28-demo{margin-top:17px;padding-top:10px}
  .a27-pane-footer{padding-bottom:13px}
}
@media(max-width:620px){
  .atlas27-auth{display:flex;flex-direction:column;min-height:100dvh;overflow:auto;background:#0b1117}
  .a27-stage{
    height:170px;min-height:170px;flex:none;
    display:block;padding:0;overflow:visible;
    background:transparent;
  }
  .a27-stage:after{display:none}
  .a27-stage .a27-wordmark{
    z-index:2;top:47px;left:calc(50% - 6px);transform:translateX(-4%);
    white-space:nowrap;font-size:44px;line-height:1;
    letter-spacing:-1.4px;
  }
  .a28-orb-stage{inset:auto;top:27px;left:calc(50% - 167px);width:120px;height:120px}
  .a28-orb-stage canvas{width:120px;height:120px;filter:none}
  .a27-stage .a27-stage-bottom{display:none}
  .a27-pane{min-height:calc(100dvh - 170px);background:transparent}
  .a27-pane-head{height:1px;padding:0 24px;position:relative;z-index:2}
  .a28-pane-symbol{display:none}
  .a27-close{position:absolute;top:6px;right:22px}
  .a27-body{width:min(420px,calc(100% - 48px));padding:4px 0 18px}
  .a28-welcome-copy{text-align:center;margin-bottom:34px}
  .a28-welcome-line{font-size:10px;margin-bottom:12px;color:#8597a9}
  .a28-welcome-copy h1{font-size:31px;letter-spacing:-.95px;margin:0 auto 15px;max-width:330px}
  .a28-welcome-copy .a27-lead{font-size:13px;line-height:1.63;margin:auto;max-width:350px}
  .a28-welcome-copy .a27-lead br{display:none}
  .a28-method{min-height:56px;padding:12px 17px;font-size:13.5px}
  .a28-create{margin-top:24px}
  .a28-demo{margin-top:26px}
  .a27-pane-footer{padding:16px 24px 26px;justify-content:center;font-size:10px}
  .a28-footer-copy{display:none}
  .a27-body:not(:has(.a28-welcome-copy)){padding-top:34px}
  .a27-body:not(:has(.a28-welcome-copy)) .a27-lead{margin-bottom:18px}
  body.light .a27-stage{background:transparent}
  body.light .atlas27-auth{background:#f5f7f9}
  body.light .a27-pane{background:transparent}
}
@media(max-width:370px){
  .a27-stage{height:147px;min-height:147px}
  .a27-pane{min-height:calc(100dvh - 147px)}
  .a27-stage .a27-wordmark{font-size:38px;top:43px}
  .a28-orb-stage{top:21px;left:calc(50% - 151px);width:107px;height:107px}
  .a28-orb-stage canvas{width:107px;height:107px}
  .a27-body{width:calc(100% - 40px)}
  .a28-welcome-copy h1{font-size:29px}
  .a28-method{min-height:53px}
}
@media(prefers-reduced-motion:reduce){.a28-method,.a28-method-tail{transition:none}}

/* Final mobile lockup: particle orb and Atlas18 wordmark form ONE centred mark. */
@media(max-width:620px){
 .a27-stage{height:160px;min-height:160px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:0}
 .a27-stage .a27-wordmark{position:relative;inset:auto;top:auto;left:auto;transform:none;flex:none;white-space:nowrap;font-size:42px;line-height:1;letter-spacing:-1.25px}
 .a28-orb-stage{position:relative;inset:auto;top:auto;left:auto;order:-1;width:115px;height:115px;flex:none;display:grid;place-items:center}
 .a28-orb-stage canvas{width:115px;height:115px;max-height:none;filter:none}
 .a27-pane{min-height:calc(100dvh - 160px)}
}
@media(max-width:370px){
 .a27-stage{height:145px;min-height:145px}
 .a27-pane{min-height:calc(100dvh - 145px)}
 .a27-stage .a27-wordmark{font-size:38px}
 .a28-orb-stage{width:102px;height:102px}
 .a28-orb-stage canvas{width:102px;height:102px}
}

/* ATLAS18 DESIGN 029 — entry page only. Exact room/orb panel width and pearlescent
   background from the already-approved app. Other application views untouched. */
@media(min-width:1111px){.atlas27-auth{grid-template-columns:clamp(360px,35.5vw,620px) minmax(0,1fr)}}
@media(min-width:811px) and (max-width:1110px){.atlas27-auth{grid-template-columns:minmax(280px,33vw) minmax(0,1fr)}}
@media(min-width:621px) and (max-width:810px){.atlas27-auth{grid-template-columns:minmax(240px,31vw) minmax(0,1fr)}}
.a27-stage{background:#121a23;padding:0;isolation:isolate}
.a27-stage:after{background:none}
.a27-stage .a27-wordmark{top:26px;left:34px;font-size:39px;letter-spacing:-.8px}
.a28-orb-stage{inset:0;display:grid;place-items:center}
.a28-orb-stage canvas{width:min(80%,460px);height:auto;max-height:none;filter:none}
.a27-stage .a27-stage-bottom{bottom:115px;left:clamp(30px,3.5vw,55px);right:clamp(30px,3.5vw,55px);max-width:500px}
.a27-stage-bottom strong{font-size:clamp(21px,1.8vw,25px);font-weight:530;line-height:1.36;margin:0;letter-spacing:-.55px}
.a29-stage-footer{position:absolute;bottom:29px;left:clamp(30px,3.5vw,55px);right:clamp(30px,3.5vw,55px);z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px}
.a29-avatars{display:flex;align-items:center;gap:7px}
.a29-avatar{display:block;width:38px;height:38px;flex:none;border-radius:50%;overflow:hidden}
.a29-avatar svg{display:block;width:100%;height:100%}
.a29-version{font-size:11px;letter-spacing:.04em;color:#a4b1bd;white-space:nowrap}
.a27-pane{background:var(--bg)}
.a27-pane-head{height:70px}
.a27-body{width:min(440px,calc(100% - 64px));max-width:440px}
.a28-welcome-copy{margin-bottom:32px}
.a28-welcome-copy h1{font-size:clamp(30px,2.7vw,39px);font-weight:560;letter-spacing:-1.1px;margin:0 0 10px;max-width:none}
.a28-welcome-copy .a27-lead{font-size:14px;line-height:1.5;color:var(--muted);margin:0}
.a28-methods{gap:11px}
.a28-method{position:relative;display:flex;align-items:center;justify-content:center;min-height:56px;padding:12px 54px;text-align:center;background:var(--surface);border:1px solid var(--line);color:var(--fg);font-size:14px;font-weight:480}
.a28-method-icon{position:absolute;left:19px;top:50%;transform:translateY(-50%);height:21px;width:21px}
.a28-method span:not(.a28-method-tail){display:block;text-align:center;width:100%;white-space:nowrap}
.a28-method-tail{display:none!important}
.a28-method:hover{background:var(--surface2);border-color:#80909b;transform:none}
.a28-demo{border:0;margin:24px 0 0;padding:0;display:flex;justify-content:center}
.a28-demo button{font-size:12.5px;color:var(--muted);padding:9px 15px}
.a28-demo button:hover{color:var(--fg);background:var(--surface)}
.a27-pane-footer{display:none}
.a29-mobile-footer{display:none}
/* Welcome is the product's first impression, not a service dashboard. */
.atlas27-auth[data-auth-step="welcome"] .a27-pane-head{height:24px}
body.light .a27-stage{background:var(--atlas-pearl)}
body.light .a27-stage .a27-wordmark{color:#293848}
body.light .a27-stage-bottom strong{color:#263746}
body.light .a29-version{color:#718495}
body.light .a27-pane{background:var(--bg)}
body.light .a28-welcome-copy .a27-lead{color:var(--muted)}
body.light .a28-method{background:var(--surface);border:1px solid var(--line);color:var(--fg)}
body.light .a28-method:hover{background:var(--surface2);border-color:#9aaeba}
body.light .a28-demo{border:0}
body.light .a28-demo button{color:var(--muted)}
body.light .a28-demo button:hover{color:var(--fg);background:var(--surface2)}
@media(max-width:1110px) and (min-width:621px){
 .a27-stage .a27-stage-bottom{bottom:111px;left:25px;right:25px}
 .a29-stage-footer{left:25px;right:25px}
 .a29-avatar{width:33px;height:33px}
 .a28-orb-stage canvas{width:min(80%,460px)}
}
@media(max-height:760px) and (min-width:621px){
 .a27-stage .a27-stage-bottom{bottom:100px}
 .a29-stage-footer{bottom:20px}
 .a27-stage-bottom strong{font-size:20px}
 .a29-avatar{width:33px;height:33px}
 .a28-welcome-copy{margin-bottom:25px}
 .a28-welcome-copy h1{font-size:32px}
 .a27-body{padding:5px 0 10px}
}
@media(max-width:620px){
 .atlas27-auth{background:var(--bg)}
 .a27-stage{background:transparent;height:155px;min-height:155px;padding:0;display:flex;align-items:center;justify-content:center}
 .a27-stage .a27-wordmark{position:relative;inset:auto;transform:none;font-size:41px}
 .a28-orb-stage{position:relative;inset:auto;width:112px;height:112px;flex:none}
 .a28-orb-stage canvas{width:112px;height:112px;max-height:none}
 .a27-stage .a27-stage-bottom,.a29-stage-footer{display:none}
 .a27-pane{min-height:calc(100dvh - 155px);background:transparent}
 .a27-pane-head{height:8px}
 .atlas27-auth[data-auth-step="welcome"] .a27-pane-head{height:8px}
 .a27-body{width:min(420px,calc(100% - 48px));padding:4px 0 18px}
 .a28-welcome-copy{margin-bottom:30px;text-align:center}
 .a28-welcome-copy h1{font-size:29px;margin:0 0 10px}
 .a28-welcome-copy .a27-lead{font-size:13px}
 .a28-method{min-height:55px;padding:10px 50px;font-size:13.5px}
 .a28-method-icon{left:18px;width:20px;height:20px}
 .a28-demo{margin-top:23px}
 .a27-pane-footer{display:flex;justify-content:center;padding:14px 22px 25px}
 .a29-mobile-footer{display:flex;gap:17px;align-items:center;justify-content:center}
 .a29-mobile-footer .a29-avatar{width:27px;height:27px}
 .a29-mobile-footer .a29-avatars{gap:5px}
 .a29-mobile-footer .a29-version{font-size:10px}
 body.light .a27-stage{background:transparent}
 body.light .a27-pane{background:transparent}
}
@media(max-width:370px){
 .a27-stage{height:142px;min-height:142px}
 .a27-stage .a27-wordmark{font-size:37px}
 .a28-orb-stage{width:101px;height:101px}
 .a28-orb-stage canvas{width:101px;height:101px}
 .a27-pane{min-height:calc(100dvh - 142px)}
 .a28-welcome-copy h1{font-size:28px}
 .a28-method{min-height:51px}
}


/* DESIGN 030 — entry-only revision following the approved Atlas18 visual language.
   All rules are confined to the welcome page; registration/recovery and the app remain untouched. */
.atlas27-auth[data-auth-step="welcome"] .a27-body{
 width:min(405px,calc(100% - 64px));max-width:405px;
 padding:12px 0 15px;
 min-height:0;
}
.atlas27-auth[data-auth-step="welcome"] .a28-welcome-copy{margin:0 0 29px}
.atlas27-auth[data-auth-step="welcome"] .a28-welcome-copy h1{
 font-size:clamp(27px,2.3vw,32px);letter-spacing:-.8px;font-weight:560;
 line-height:1.24;margin:0 0 13px;
}
.atlas27-auth[data-auth-step="welcome"] .a28-welcome-copy .a27-lead{
 max-width:390px;font-size:13.5px;line-height:1.65;letter-spacing:0;color:var(--muted);
}
.atlas27-auth[data-auth-step="welcome"] .a28-methods{gap:9px}
.atlas27-auth[data-auth-step="welcome"] .a28-method{
 min-height:46px;max-height:46px;padding:9px 44px;
 border-radius:11px;font-size:13px;font-weight:465;
 background:var(--surface);border-color:var(--line);
 transition:background .16s,border-color .16s;
}
.atlas27-auth[data-auth-step="welcome"] .a28-method-icon{
 width:18px;height:18px;left:17px;
}
.atlas27-auth[data-auth-step="welcome"] .a28-method:hover{background:var(--surface2);border-color:var(--muted)}
.atlas27-auth[data-auth-step="welcome"] .a28-demo{margin:17px 0 0}
.atlas27-auth[data-auth-step="welcome"] .a28-demo button{
 font-size:12.5px;padding:7px 12px;
}
.atlas27-auth[data-auth-step="welcome"] .a27-stage .a27-stage-bottom,
.atlas27-auth[data-auth-step="welcome"] .a29-stage-footer{display:none}
.a30-signature{display:flex;align-items:center;flex-direction:column;gap:0;margin-top:30px;justify-content:center}
.a30-signature .a29-avatars{gap:10px;margin-bottom:16px}
.a30-signature .a29-avatar{width:38px;height:38px}
.a30-platforms{font-size:12px;color:var(--muted);letter-spacing:.025em;line-height:1.5}
.a30-version{font-size:11px;letter-spacing:.025em;color:var(--faint);line-height:1.5;margin-top:4px}
.atlas27-auth[data-auth-step="welcome"] .a27-pane-head{height:16px}
body.light .atlas27-auth[data-auth-step="welcome"] .a28-method{background:var(--surface);border-color:var(--line);color:var(--fg)}
body.light .atlas27-auth[data-auth-step="welcome"] .a28-method:hover{background:var(--surface2);border-color:var(--muted)}
/* Low desktop heights: keep the entire form on screen, without squeezing other auth steps. */
@media(min-width:621px) and (max-height:710px){
 .atlas27-auth[data-auth-step="welcome"] .a28-welcome-copy{margin-bottom:20px}
 .atlas27-auth[data-auth-step="welcome"] .a28-welcome-copy h1{font-size:28px}
 .atlas27-auth[data-auth-step="welcome"] .a28-method{min-height:43px;max-height:43px}
 .atlas27-auth[data-auth-step="welcome"] .a30-signature{margin-top:18px}
 .atlas27-auth[data-auth-step="welcome"] .a30-signature .a29-avatars{margin-bottom:10px}
}
@media(max-width:620px){
 .atlas27-auth[data-auth-step="welcome"] .a27-body{width:min(380px,calc(100% - 44px));max-width:380px;padding:3px 0 22px}
 .atlas27-auth[data-auth-step="welcome"] .a28-welcome-copy{text-align:center;margin-bottom:24px}
 .atlas27-auth[data-auth-step="welcome"] .a28-welcome-copy h1{font-size:26px;line-height:1.25;margin-bottom:12px}
 .atlas27-auth[data-auth-step="welcome"] .a28-welcome-copy .a27-lead{font-size:12.5px;line-height:1.55;max-width:340px;margin:auto}
 .atlas27-auth[data-auth-step="welcome"] .a28-method{min-height:46px;max-height:46px;font-size:12.5px}
 .atlas27-auth[data-auth-step="welcome"] .a28-demo{margin-top:13px}
 .atlas27-auth[data-auth-step="welcome"] .a30-signature{margin-top:23px}
 .atlas27-auth[data-auth-step="welcome"] .a30-signature .a29-avatar{width:30px;height:30px}
 .atlas27-auth[data-auth-step="welcome"] .a30-signature .a29-avatars{margin-bottom:12px}
 .atlas27-auth[data-auth-step="welcome"] .a27-pane-footer{display:none}
}
@media(max-width:370px){
 .atlas27-auth[data-auth-step="welcome"] .a28-welcome-copy h1{font-size:25px}
 .atlas27-auth[data-auth-step="welcome"] .a28-method{min-height:44px;max-height:44px}
 .atlas27-auth[data-auth-step="welcome"] .a30-signature{margin-top:18px}
}



/* DESIGN 031 — welcome page layout refinement: signature returns to the left stage,
   legal copy anchors the bottom of the right pane. */
.a30-stage-signature{display:none;position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:2;align-items:center;flex-direction:column;justify-content:center;text-align:center;width:min(260px,calc(100% - 56px))}
.a30-stage-signature .a29-avatars{gap:7px;margin-bottom:10px;justify-content:center}
.a30-stage-signature .a29-avatar{width:30px;height:30px}
.a30-stage-signature .a30-platforms{font-size:11.5px;line-height:1.72;letter-spacing:0;color:var(--faint)}
.a30-stage-signature .a30-version{font-size:11.5px;line-height:1.72;letter-spacing:0;color:var(--faint);margin-top:2px}
.atlas27-auth[data-auth-step="welcome"] .a27-pane{position:relative}
.atlas27-auth[data-auth-step="welcome"] .a27-body{
 flex:none;display:block;
 width:min(405px,calc(100% - 64px));max-width:405px;
 margin:auto;padding:12px 0 15px;min-height:0;
}
.atlas27-auth[data-auth-step="welcome"] .a28-welcome-copy,
.atlas27-auth[data-auth-step="welcome"] .a28-methods,
.atlas27-auth[data-auth-step="welcome"] .a28-demo{transform:translateY(-60px)}
.atlas27-auth[data-auth-step="welcome"] .a30-legal{
 position:absolute;left:50%;bottom:22px;transform:translateX(-50%);
 width:min(405px,calc(100% - 64px));margin:0;padding:0;
 font-size:11.5px;line-height:1.72;color:var(--faint);
}
.atlas27-auth[data-auth-step="welcome"] .a30-legal a{
 color:var(--fg);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--fg) 38%,transparent);
 padding-bottom:1px;transition:color .15s,border-color .15s;
}
.atlas27-auth[data-auth-step="welcome"] .a30-legal a:hover{color:#c8d8e6;border-color:currentColor}
.atlas27-auth[data-auth-step="welcome"] .a30-signature{display:none}
.atlas27-auth[data-auth-step="welcome"] .a30-stage-signature{display:flex}
body.light .a30-stage-signature .a30-platforms{color:var(--faint)}
body.light .a30-stage-signature .a30-version{color:var(--faint)}
body.light .atlas27-auth[data-auth-step="welcome"] .a30-legal a:hover{color:#27425a}
@media(min-width:621px) and (max-height:710px){
 .a30-stage-signature{bottom:14px}
 .a30-stage-signature .a30-platforms,.a30-stage-signature .a30-version{font-size:11px}
 .atlas27-auth[data-auth-step="welcome"] .a27-body{padding-top:10px;padding-bottom:10px}
 .atlas27-auth[data-auth-step="welcome"] .a28-welcome-copy,
 .atlas27-auth[data-auth-step="welcome"] .a28-methods,
 .atlas27-auth[data-auth-step="welcome"] .a28-demo{transform:translateY(-54px)}
 .atlas27-auth[data-auth-step="welcome"] .a30-legal{bottom:14px;font-size:11px;line-height:1.62}
}
@media(max-width:620px){
 .a30-stage-signature{display:none!important}
 .atlas27-auth[data-auth-step="welcome"] .a27-body{width:min(380px,calc(100% - 44px));max-width:380px;padding:3px 0 22px;display:block}
 .atlas27-auth[data-auth-step="welcome"] .a28-welcome-copy,
 .atlas27-auth[data-auth-step="welcome"] .a28-methods,
 .atlas27-auth[data-auth-step="welcome"] .a28-demo{transform:none}
 .atlas27-auth[data-auth-step="welcome"] .a30-legal{position:static;left:auto;bottom:auto;transform:none;width:auto;margin-top:16px;padding-top:14px;font-size:11px;line-height:1.63;text-align:center}
 .atlas27-auth[data-auth-step="welcome"] .a30-signature{display:flex;align-items:center;flex-direction:column;gap:0;margin-top:20px;justify-content:center}
 .atlas27-auth[data-auth-step="welcome"] .a30-signature .a29-avatar{width:30px;height:30px}
 .atlas27-auth[data-auth-step="welcome"] .a30-signature .a29-avatars{gap:8px;margin-bottom:12px}
}

/* DESIGN 034 — Apple visual center aligns horizontally with Google and mail icons. */
@media(min-width:621px){
 .atlas27-auth[data-auth-step="welcome"] .a28-method[data-a27="apple"] .a28-method-icon{left:15.25px;transform:translateY(calc(-50% - 1.5px))}
}

/* DESIGN 034 — align the avatar row to the beginning of the legal text,
   without moving Mobile · Web · Desktop or Atlas18 · v1.0.0. */
@media(min-width:621px){
 .atlas27-auth[data-auth-step="welcome"] .a30-stage-signature .a29-avatars{
   position:relative;transform:translateY(var(--a34-avatar-shift,0px));
 }
}

/* DESIGN 035 — only two welcome-screen adjustments.
   The legal notice expands to two lines on ordinary desktop widths.
   The platform line sits halfway between the avatar row and version;
   the avatars and version retain their DESIGN 034 coordinates. */
@media(min-width:621px){
 .atlas27-auth[data-auth-step="welcome"] .a30-legal{
   width:min(720px,calc(100% - 44px));
 }
 .atlas27-auth[data-auth-step="welcome"] .a30-stage-signature .a30-platforms{
   transform:translateY(-2.75px);
 }
}

/* DESIGN 036 — Welcome only: two individually centered legal lines,
   one compact platforms/version line, avatar block flush with legal baseline. */
@media(min-width:811px){
 .atlas27-auth[data-auth-step="welcome"] .a28-welcome-copy h1{white-space:nowrap}
}
@media(min-width:621px){
 .atlas27-auth[data-auth-step="welcome"] .a30-legal{
   text-align:center;
 }
 .atlas27-auth[data-auth-step="welcome"] .a30-stage-signature{
   bottom:22px;
   width:min(340px,calc(100% - 38px));
 }
 .atlas27-auth[data-auth-step="welcome"] .a30-stage-signature .a29-avatars{
   transform:none;
   margin-bottom:10px;
 }
 .atlas27-auth[data-auth-step="welcome"] .a30-stage-signature .a30-platforms{
   transform:none;
   white-space:nowrap;
 }
}
@media(min-width:621px) and (max-height:710px){
 .atlas27-auth[data-auth-step="welcome"] .a30-stage-signature{bottom:14px}
}
@media(max-width:620px){
 .atlas27-auth[data-auth-step="welcome"] .a30-signature .a30-platforms{white-space:nowrap}
}

/* DESIGN 037 — welcome screen only. Quiet, aligned footer and uncluttered greeting.
   No changes to other auth steps, application views, buttons or original sphere. */
@media(min-width:621px){
 .atlas27-auth[data-auth-step="welcome"] .a30-legal{
   width:min(460px,calc(100% - 52px));
   bottom:46px;
   text-align:center;
   font-size:11.5px;
   line-height:1.7;
 }
 .atlas27-auth[data-auth-step="welcome"] .a30-stage-signature{bottom:46px}
}
@media(min-width:621px) and (max-height:710px){
 .atlas27-auth[data-auth-step="welcome"] .a30-legal{bottom:24px;line-height:1.62;font-size:11px}
 .atlas27-auth[data-auth-step="welcome"] .a30-stage-signature{bottom:24px}
}

@media(min-width:1000px){
 .atlas27-auth[data-auth-step="welcome"] .a37-legal-line{display:block}
}

/* The Apple artwork has more internal whitespace than Google. Enlarge only its
   visible symbol, preserving the previously calibrated icon position. */
.atlas27-auth[data-auth-step="welcome"] .a28-method[data-a27="apple"] .a28-method-icon{
 transform:translateY(calc(-50% - 1.5px)) scale(1.14);
 transform-origin:center center;
}

/* DESIGN 038 — email-first single entry. All secondary auth and app views inherited. */
.atlas27-auth[data-auth-step="welcome"] .a38-email-form{display:grid;gap:9px;width:100%;margin:0}
.atlas27-auth[data-auth-step="welcome"] .a38-email-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.atlas27-auth[data-auth-step="welcome"] .a38-email-input{
 width:100%;height:46px;min-height:46px;min-width:0;box-sizing:border-box;
 padding:9px 16px;border:1px solid var(--line);border-radius:11px;
 background:var(--surface);color:var(--fg);font:400 13.5px/1.4 inherit;
 font-family:inherit;font-size:13.5px;font-weight:440;letter-spacing:0;outline:none;
}
.atlas27-auth[data-auth-step="welcome"] .a38-email-input::placeholder{color:var(--muted);opacity:1}
.atlas27-auth[data-auth-step="welcome"] .a38-email-input:focus{border-color:#8296a7;box-shadow:0 0 0 2px #8296a720}
.atlas27-auth[data-auth-step="welcome"] .a38-email-input:-webkit-autofill{
 -webkit-text-fill-color:var(--fg);transition:background-color 5000s ease-in-out 0s;
}
.atlas27-auth[data-auth-step="welcome"] .a38-continue{
 width:100%;height:46px;min-height:46px;padding:8px 17px;box-sizing:border-box;
 border-radius:11px;background:#dbe5ed;color:#20303e;
 font:570 13.5px/1.4 inherit;font-family:inherit;font-size:13.5px;font-weight:580;
 text-align:center;transition:background .15s;
}
.atlas27-auth[data-auth-step="welcome"] .a38-continue:hover{background:#f0f4f8}
.atlas27-auth[data-auth-step="welcome"] .a38-continue:focus-visible{outline:2px solid #a0bbd3;outline-offset:2px}
.atlas27-auth[data-auth-step="welcome"] .a38-separator{display:flex;align-items:center;gap:14px;justify-content:center;margin:2px 0;color:var(--faint);font-size:11px;line-height:1.6}
.atlas27-auth[data-auth-step="welcome"] .a38-separator:before,
.atlas27-auth[data-auth-step="welcome"] .a38-separator:after{content:"";height:1px;flex:1;background:color-mix(in srgb,var(--line) 72%,transparent)}
.atlas27-auth[data-auth-step="welcome"] .a38-methods{gap:9px}
.atlas27-auth[data-auth-step="welcome"] .a38-methods>.a28-method{min-height:46px;max-height:46px}
.atlas27-auth[data-auth-step="welcome"] .a38-email-form .a27-error{font-size:12px;text-align:left;line-height:1.4}
.atlas27-auth[data-auth-step="welcome"] .a38-email-form .a27-error:empty{display:none}
body.light .atlas27-auth[data-auth-step="welcome"] .a38-continue{background:#273846;color:#f6f8fa}
body.light .atlas27-auth[data-auth-step="welcome"] .a38-continue:hover{background:#1b2d3b}
@media(min-width:621px){
 .atlas27-auth[data-auth-step="welcome"] .a28-welcome-copy,
 .atlas27-auth[data-auth-step="welcome"] .a28-methods,
 .atlas27-auth[data-auth-step="welcome"] .a28-demo{transform:translateY(-34px)}
}
@media(min-width:621px) and (max-height:710px){
 .atlas27-auth[data-auth-step="welcome"] .a28-welcome-copy,
 .atlas27-auth[data-auth-step="welcome"] .a28-methods,
 .atlas27-auth[data-auth-step="welcome"] .a28-demo{transform:translateY(-27px)}
 .atlas27-auth[data-auth-step="welcome"] .a38-email-input,
 .atlas27-auth[data-auth-step="welcome"] .a38-continue{height:43px;min-height:43px}
 .atlas27-auth[data-auth-step="welcome"] .a38-separator{margin:0}
}
@media(max-width:620px){
 .atlas27-auth[data-auth-step="welcome"] .a38-methods{gap:8px}
 .atlas27-auth[data-auth-step="welcome"] .a38-email-input,
 .atlas27-auth[data-auth-step="welcome"] .a38-continue{height:46px;min-height:46px}
}


/* DESIGN 039 — ONLY the desktop welcome form is made narrower and its explanatory text lighter.
   All entry controls and copy share one aligned content column; other auth steps and mobile unchanged. */
@media (min-width:621px){
  .atlas27-auth[data-auth-step="welcome"] .a27-body{
    width:min(350px,calc(100% - 64px));
    max-width:350px;
  }
  .atlas27-auth[data-auth-step="welcome"] .a28-welcome-copy .a27-lead{
    max-width:100%;
    font-size:12px;
  }
}
/* DESIGN 040 — Only lower the entire left welcome footer by 3px.
   Avatar sizes, spacing, caption, legal text, and all other UI stay unchanged. */
@media (min-width:621px){
  .atlas27-auth[data-auth-step="welcome"] .a30-stage-signature{bottom:43px}
}
@media (min-width:621px) and (max-height:710px){
  .atlas27-auth[data-auth-step="welcome"] .a30-stage-signature{bottom:21px}
}

/* DESIGN 041. Only additional authorization steps. Do not alter the approved welcome. */
.atlas27-auth:not([data-auth-step="welcome"]) .a27-pane-head{height:69px;min-height:69px;padding:20px clamp(24px,4vw,60px)}
.atlas27-auth:not([data-auth-step="welcome"]) .a27-body.a41-content{
 width:min(350px,calc(100% - 64px));max-width:350px;min-height:0;
 padding:12px 0 34px;margin:auto;display:block;flex:none;
}
.atlas27-auth:not([data-auth-step="welcome"]) .a27-body.a41-content h1{
 font-size:29px;line-height:1.22;letter-spacing:-.7px;font-weight:540;margin:0 0 12px;
}
.atlas27-auth:not([data-auth-step="welcome"]) .a27-pane{min-height:100dvh;justify-content:center}
.a41-tag{text-transform:uppercase;letter-spacing:.10em;color:var(--faint);font-size:10.5px;margin:0 0 15px}
.a41-lead{color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 26px}
.a41-lead b,.a41-lead strong{color:var(--fg);font-weight:550}
.a41-form{display:grid;gap:13px;margin-top:2px}
.a41-field{display:grid;gap:7px;color:var(--muted);font-size:12px}
.a41-input{width:100%;height:46px;padding:10px 14px;outline:0;color:var(--fg);
 font-size:13.5px;border:1px solid var(--line);background:var(--input);border-radius:11px}
.a41-input:focus{border-color:color-mix(in srgb,var(--fg) 38%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--fg) 6%,transparent)}
.a41-input::placeholder{color:var(--faint)}
.a41-primary{width:100%;min-height:44px;padding:10px 16px;border-radius:11px;
 background:#d8e2eb;color:#192733;font-size:13.2px;font-weight:580;text-align:center;margin-top:2px}
.a41-primary:hover:not(:disabled){background:#ecf2f6}
body.light .a41-primary{background:#293746;color:white}body.light .a41-primary:hover{background:#405264}
.a41-secondary{display:inline-flex;justify-content:center;align-items:center;min-height:40px;padding:8px 15px;
 border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--fg);font-size:12px}
.a41-secondary:hover{background:var(--surface2)}
.a41-small-links,.a41-links{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-top:16px}
.a41-text-btn,.a41-foot-link{font-size:12px;color:var(--muted);padding:6px 0;text-align:left}
.a41-text-btn:hover,.a41-foot-link:hover{color:var(--fg)}
.a41-foot-link{display:block;margin-top:13px;text-align:center;width:100%}
.a41-error{color:#e4adb4;font-size:12px;line-height:1.5;min-height:0}
.a41-error:empty{display:none}body.light .a41-error{color:#a45a61}
.a41-show{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11.5px;margin:1px 0}
.a41-show input{accent-color:#859bab}
.a41-hint,.a41-note{font-size:11.5px;line-height:1.7;color:var(--faint);margin:15px 0 0}
.a41-hint strong{color:var(--muted)}
.a41-device-picker{margin-top:19px;border-top:1px solid var(--line);padding-top:14px}
.a41-device-picker p{color:var(--faint);font-size:11px;margin:0 0 9px}
.a41-segment{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--surface);border-radius:10px;padding:4px}
.a41-segment button{border-radius:8px;padding:8px 6px;font-size:11px;color:var(--muted)}
.a41-segment button.selected{background:var(--surface2);color:var(--fg);box-shadow:0 0 0 1px var(--line)}
.a41-pin-group{margin:1px auto 2px;width:min(258px,100%)}
.a41-pin-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:0 0 8px}
.a41-pin-top label{font-size:12px;color:var(--fg)}.a41-pin-top span{font-size:11px;color:var(--faint)}
.a41-pin-input{display:block;text-align:center;width:100%;height:47px;background:var(--input);
 border:1px solid var(--line);border-radius:12px;letter-spacing:.48em;font-size:19px;color:var(--fg);padding:7px}
.a41-pin-input:focus{border-color:#8da4b4}
.a41-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:13px 0 8px}
.a41-keypad .a41-key{height:41px;border:1px solid var(--line);background:var(--surface);border-radius:10px;
 font-size:17px;font-weight:400;color:var(--fg);display:grid;place-items:center}
.a41-keypad .a41-key:hover{background:var(--surface2)}
.a41-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0 14px}
.a41-code{font-size:14px;font-weight:520;text-align:center;letter-spacing:.12em;color:var(--fg);
 padding:10px 14px;background:var(--surface);border:1px solid var(--line);border-radius:10px}
.a41-code:last-child{grid-column:span 2}
.a41-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}
.a41-warning,.a41-alert{font-size:12px;color:var(--muted);line-height:1.65;
 padding:13px 15px;margin:15px 0 19px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.a41-lock-time{text-align:center;font:400 35px/1.5 'Instrument Serif',Georgia,serif;color:var(--fg);margin:12px 0}
.a41-success-mark{display:grid;place-items:center;margin:20px auto;width:48px;height:48px;
 border:1px solid var(--line);border-radius:50%;color:var(--fg);font-size:20px}
.a41-retry{padding:6px 0;text-decoration:underline;text-underline-offset:2px;color:var(--fg);display:block}
.a41-testing{border-top:1px solid var(--line);margin-top:24px;padding-top:10px;color:var(--faint);font-size:10.7px}
.a41-testing summary{cursor:pointer;list-style:none;display:inline-flex;gap:6px;align-items:center;padding:4px 0}
.a41-testing summary::after{content:'⌄';font-size:12px;opacity:.65}
.a41-test-row{display:flex;gap:5px;flex-wrap:wrap;margin:9px 0}
.a41-test-row button{font-size:10.5px;padding:5px 7px;color:var(--muted);border:1px solid var(--line);border-radius:7px}
.a41-test-row button:hover{background:var(--surface2)}
.a41-testing p{font-size:10px;color:var(--faint);margin:7px 0}
@media(max-width:620px){
 .atlas27-auth:not([data-auth-step="welcome"]) .a27-pane{min-height:calc(100dvh - 155px);justify-content:flex-start}
 .atlas27-auth:not([data-auth-step="welcome"]) .a27-pane-head{height:36px;min-height:36px;padding:4px 24px}
 .atlas27-auth:not([data-auth-step="welcome"]) .a27-body.a41-content{width:min(380px,calc(100% - 44px));padding:10px 0 33px}
 .atlas27-auth:not([data-auth-step="welcome"]) .a27-body.a41-content h1{font-size:26px}
 .a41-lead{margin-bottom:17px}.a41-pin-group{width:min(240px,100%)}.a41-keypad .a41-key{height:39px}
}
@media(max-height:730px) and (min-width:621px){
 .atlas27-auth:not([data-auth-step="welcome"]) .a27-body.a41-content{padding:0 0 24px}
 .a41-lead{margin-bottom:17px}.a41-pin-group{width:min(235px,100%)}.a41-keypad{margin-top:8px}.a41-keypad .a41-key{height:37px}
}

/* DESIGN 042 — secondary steps inherit the exact desktop column geometry from
   DESIGN 040 (.atlas27-auth[data-auth-step="welcome"] .a27-body).
   The approved welcome and every application view remain unchanged. */
@media(min-width:621px){
 .atlas27-auth:not([data-auth-step="welcome"]) .a27-body.a41-content{
   width:min(350px,calc(100% - 64px));max-width:350px;
 }
}
.atlas27-auth:not([data-auth-step="welcome"]) .a41-tag{display:none}
.atlas27-auth:not([data-auth-step="welcome"]) .a41-input{
 height:46px;padding:9px 16px;border-radius:11px;font-size:13.5px;
}
.atlas27-auth:not([data-auth-step="welcome"]) .a41-primary{
 min-height:46px;border-radius:11px;font-size:13.5px;
}
.atlas27-auth:not([data-auth-step="welcome"]) .a41-lead{
 font-size:12px;line-height:1.65;margin:0 0 22px;
}
.atlas27-auth:not([data-auth-step="welcome"]) .a27-body.a41-content h1{
 font-size:29px;font-weight:540;line-height:1.25;margin:0 0 14px;
}
.a42-inline-info{font-size:11.5px;line-height:1.5;color:var(--muted);min-height:0}
.a42-inline-info:empty{display:none}
.a41-device-picker{margin-top:23px;padding-top:15px}
.a41-device-picker .a41-segment button{font-size:11.5px}
@media(max-width:620px){
 .atlas27-auth:not([data-auth-step="welcome"]) .a27-body.a41-content{
   width:min(350px,calc(100% - 44px));max-width:350px;
 }
}

/* DESIGN 043: consistent inputs even when the browser saved an old demo login.
   Scoped to later steps: the approved №040 welcome is untouched. */
.atlas27-auth:not([data-auth-step="welcome"]) .a41-input:-webkit-autofill,
.atlas27-auth:not([data-auth-step="welcome"]) .a41-input:-webkit-autofill:hover,
.atlas27-auth:not([data-auth-step="welcome"]) .a41-input:-webkit-autofill:focus{
 -webkit-box-shadow:0 0 0 1000px var(--input) inset !important;
 box-shadow:0 0 0 1000px var(--input) inset !important;
 -webkit-text-fill-color:var(--fg) !important;
 caret-color:var(--fg);
}
.atlas27-auth:not([data-auth-step="welcome"]) .a41-input:-moz-autofill{
 background:var(--input) !important;box-shadow:0 0 0 1000px var(--input) inset !important;
 color:var(--fg) !important;
}
/* DESIGN 044: QA-only device choice. Two tiny, always-available controls on login
   and recovery steps, fixed at the far edge of the viewport. Never inside the form.
   The accepted №040 welcome renders with no QA UI at all. */
.a43-test-dock[hidden]{display:none!important}
.a43-test-dock{position:fixed;top:15px;right:19px;z-index:150;
 display:flex;gap:2px;padding:3px;border-radius:9px;
 border:1px solid color-mix(in srgb,var(--line) 65%,transparent);
 background:var(--surface);box-shadow:0 2px 12px rgba(0,0,0,.06)}
.a43-test-dock button{border-radius:6px;font-size:10.5px;line-height:1.2;
 padding:6px 8px;color:var(--muted);white-space:nowrap}
.a43-test-dock button.selected{background:var(--surface2);color:var(--fg);box-shadow:0 0 0 1px var(--line)}
.a43-test-dock button:hover{color:var(--fg)}
/* The 3rd recovery link is part of the email step, not a centered orphaned footer. */
.atlas27-auth:not([data-auth-step="welcome"]) .a44-otp-recovery{
 display:block;width:max-content;max-width:100%;margin:7px 0 0;
 padding:6px 0;text-align:left;color:var(--muted);font-size:12px;
}
.atlas27-auth:not([data-auth-step="welcome"]) .a44-otp-recovery:hover{color:var(--fg)}
@media(max-width:620px){.a43-test-dock{top:8px;right:8px}.a43-test-dock button{font-size:10px;padding:6px}}

/* DESIGN 045 — continuation of approved №040. Keep original scene and first page unchanged.
   Preserve the stage signature on ALL desktop authentication steps. */
@media (min-width:621px){
 .atlas27-auth:not([data-auth-step="welcome"]) .a30-stage-signature{
   display:flex;bottom:43px;
 }
 .atlas27-auth:not([data-auth-step="welcome"]) .a27-pane-head{
   width:min(350px,calc(100% - 64px));max-width:350px;
   box-sizing:border-box;margin:0 auto;padding:0;
   display:flex;align-items:center;justify-content:flex-start;
 }
}
@media (min-width:621px) and (max-height:710px){
 .atlas27-auth:not([data-auth-step="welcome"]) .a30-stage-signature{bottom:21px}
}
/* A quiet, intentional return action, aligned with the content column. */
.atlas27-auth:not([data-auth-step="welcome"]) .a27-close{
 display:inline-flex;gap:7px;align-items:center;justify-content:flex-start;
 border:0;border-radius:8px;padding:8px 2px;color:var(--muted);
 font-size:12px;font-weight:440;line-height:1.2;text-align:left;
}
.atlas27-auth:not([data-auth-step="welcome"]) .a27-close:hover{color:var(--fg)}
.atlas27-auth:not([data-auth-step="welcome"]) .a27-close svg{
 width:16px;height:16px;flex:none;stroke:currentColor;stroke-width:1.8;
 stroke-linecap:round;stroke-linejoin:round;fill:none;
}
.atlas27-auth:not([data-auth-step="welcome"]) .a27-close:focus-visible{outline:2px solid #8a9cac;outline-offset:4px}
/* Email-code: one plain field, no redundant label; clean hierarchy of actions. */
.atlas27-auth[data-auth-step="otp"] .a45-otp-form .a41-field{position:relative;gap:0}
.atlas27-auth[data-auth-step="otp"] .a45-otp-form .a41-field>span{
 position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
 clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.atlas27-auth[data-auth-step="otp"] .a45-otp-form .a41-input::placeholder{
 color:var(--muted);opacity:1;
}
.atlas27-auth[data-auth-step="otp"] .a45-otp-form{gap:11px;margin-top:2px}
.atlas27-auth[data-auth-step="otp"] .a45-otp-actions{margin-top:15px;display:grid;gap:10px}
.atlas27-auth[data-auth-step="otp"] .a45-otp-actions-main{
 display:flex;align-items:center;justify-content:space-between;column-gap:12px;row-gap:5px;
 flex-wrap:wrap;
}
.atlas27-auth[data-auth-step="otp"] .a45-otp-actions button{
 color:var(--muted);font-size:12px;line-height:1.45;text-align:left;
 padding:5px 0;
}
.atlas27-auth[data-auth-step="otp"] .a45-otp-actions button:hover{color:var(--fg)}
.atlas27-auth[data-auth-step="otp"] .a45-otp-actions-extra{
 border-top:1px solid color-mix(in srgb,var(--line) 55%,transparent);
 padding-top:8px;
}
.atlas27-auth[data-auth-step="otp"] .a42-inline-info{margin-top:5px}
@media(max-width:620px){
 .atlas27-auth:not([data-auth-step="welcome"]) .a27-pane-head{padding:0 24px}
 .atlas27-auth[data-auth-step="otp"] .a45-otp-actions-main{gap:8px}
}

/* DESIGN 046 — visual revisions only to post-welcome authorization steps.
   The approved DESIGN 040 welcome, scene and application styles remain untouched. */
.atlas27-auth:not([data-auth-step="welcome"]) .a41-input,
.atlas27-auth:not([data-auth-step="welcome"]) input[type="email"]{
  caret-color:var(--fg)!important;
}
.a46-password-wrap{position:relative;display:block;min-width:0}
.a46-password-wrap .a41-input{padding-right:51px!important}
.a46-eye{position:absolute;right:7px;top:50%;transform:translateY(-50%);
 width:37px;height:37px;display:grid;place-items:center;border-radius:8px;
 color:var(--muted);background:transparent;cursor:pointer;z-index:1}
.a46-eye:hover,.a46-eye:focus-visible{color:var(--fg);background:var(--surface2)}
.a46-eye:focus-visible{outline:2px solid color-mix(in srgb,var(--fg) 35%,transparent);outline-offset:-2px}
.a46-eye svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
/* The PIN page has one clear central axis; the wide CTA remains the approved size. */
.atlas27-auth[data-auth-step$="pin"] .a41-content h1,
.atlas27-auth[data-auth-step="signup-pin-confirm"] .a41-content h1,
.atlas27-auth[data-auth-step="pin-recovery-new"] .a41-content h1,
.atlas27-auth[data-auth-step="pin-recovery-confirm"] .a41-content h1,
.atlas27-auth[data-auth-step="backup-reissue-pin"] .a41-content h1{text-align:center}
.atlas27-auth .a46-pin-form{display:grid;grid-template-columns:minmax(0,1fr);justify-items:stretch;gap:14px}
.atlas27-auth .a46-pin-group{width:min(258px,100%);margin:0;justify-self:center;min-width:0}
.atlas27-auth .a46-pin-hint{font-size:11.5px;color:var(--muted);text-align:center;margin:0 0 10px}
.atlas27-auth .a46-pin-entry,.atlas27-auth .a46-pin-inline-wrap{position:relative;width:100%}
.atlas27-auth .a46-pin-input,.atlas27-auth .a46-pin-inline-input{
 color:transparent!important;-webkit-text-fill-color:transparent!important;
 caret-color:transparent!important;letter-spacing:normal!important;
 text-shadow:none!important;font-variant-numeric:tabular-nums;
}
.atlas27-auth .a46-pin-input{font-size:19px}
.atlas27-auth .a46-pin-display,.atlas27-auth .a46-pin-inline-display{position:absolute;inset:0;
 display:flex;justify-content:center;align-items:center;gap:11px;pointer-events:none;
 font-size:17px;letter-spacing:.01em;color:var(--fg);white-space:nowrap}
.atlas27-auth .a46-pin-display.is-empty{color:var(--faint);gap:8px}
.atlas27-auth .a46-pin-dot{display:block;width:7px;height:7px;background:currentColor;border-radius:50%;opacity:.88}
.atlas27-auth .a46-pin-display.is-empty .a46-pin-dot{width:5px;height:5px;opacity:.48}
.atlas27-auth .a46-pin-inline-display{justify-content:flex-start;padding:0 16px}
.atlas27-auth .a46-pin-inline-display .a46-pin-dot{width:6px;height:6px}
.atlas27-auth .a46-pin-group .a41-keypad{margin:11px 0 1px;gap:7px}
.atlas27-auth .a46-pin-group .a41-key{height:42px}
.atlas27-auth .a46-pin-form>.a41-primary{margin-top:0}
.atlas27-auth .a46-pin-links{display:flex;justify-content:center;margin-top:13px}
/* Five equally sized codes, including centered final card. The short test aliases
   remain accepted internally; only the presentation displays realistic lengths. */
.atlas27-auth .a46-codes{gap:9px;margin:16px 0}
.atlas27-auth .a46-codes .a41-code{font:530 13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;
 letter-spacing:.055em;min-width:0;padding:12px 5px;user-select:all}
.atlas27-auth .a46-codes .a41-code:last-child{grid-column:1/-1;
 width:calc((100% - 9px)/2);justify-self:center}
@media(max-width:620px){
 .atlas27-auth .a46-pin-group{width:min(242px,100%)}
 .atlas27-auth .a46-pin-group .a41-key{height:40px}
 .atlas27-auth .a46-codes .a41-code{font-size:12px}
}

/* DESIGN 047 — collected visual feedback, without touching the approved welcome. */
.atlas27-auth[data-auth-step="signup-password"] .a41-input::placeholder{
 color:var(--faint);opacity:.55;letter-spacing:.12em;
}
.atlas27-auth[data-auth-step="signup-password"] .a41-input:focus::placeholder{opacity:0}
/* On PIN steps the CTA shares the exact horizontal measure of the numeric pad. */
.atlas27-auth .a46-pin-form > .a41-primary{
 width:min(258px,100%);justify-self:center;
}
/* Five full-width, unbroken recovery codes; each row visually aligned with the form. */
.atlas27-auth .a46-codes{grid-template-columns:minmax(0,1fr);gap:8px}
.atlas27-auth .a46-codes .a41-code,
.atlas27-auth .a46-codes .a41-code:last-child{
 grid-column:auto;width:100%;justify-self:stretch;box-sizing:border-box;
 font:520 13px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;
 letter-spacing:.018em;padding:11px 10px;white-space:nowrap;
}
/* Fixed-size placeholders: small muted circles grow and brighten one at a time. */
.atlas27-auth .a46-pin-display,
.atlas27-auth .a46-pin-display.is-empty{gap:10px;color:var(--fg)}
.atlas27-auth .a47-dot-slot{width:11px;height:12px;display:grid;place-items:center;flex:none}
.atlas27-auth .a46-pin-dot,
.atlas27-auth .a46-pin-display.is-empty .a46-pin-dot{
 width:5px;height:5px;opacity:.44;background:var(--muted);
 transition:width .15s ease,height .15s ease,background .15s ease,opacity .15s ease;
}
.atlas27-auth .a46-pin-dot.is-filled,
.atlas27-auth .a46-pin-display.is-empty .a46-pin-dot.is-filled{
 width:8px;height:8px;opacity:1;background:var(--fg);
}
.atlas27-auth .a46-pin-inline-display{gap:9px}
.atlas27-auth .a46-pin-inline-display .a46-pin-dot.is-filled{width:8px;height:8px}
/* Device precheck feels like an unobtrusive, temporary stage. */
.a47-device-status{display:grid;place-items:center;text-align:center;gap:17px;margin:30px 0 5px}
.a47-device-status p{color:var(--muted);font-size:12.5px;line-height:1.65;margin:0;max-width:300px}
.a47-spinner{width:29px;height:29px;border-radius:50%;border:2px solid var(--line);
 border-top-color:var(--fg);animation:a47-spin .85s linear infinite}
@keyframes a47-spin{to{transform:rotate(360deg)}}
.a47-recovery-help{margin:6px 0 22px;color:var(--muted);font-size:12.5px;line-height:1.7}
/* Only a mock of the OS authorization prompt; NOT a new Atlas18 product screen. */
.a47-system-overlay[hidden]{display:none!important}
.a47-system-overlay{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:24px}
.a47-system-shade{position:absolute;inset:0;background:rgba(8,12,20,.46);backdrop-filter:blur(3px)}
.a47-system-dialog{position:relative;width:min(310px,calc(100vw - 48px));box-sizing:border-box;
 border:1px solid rgba(0,0,0,.12);border-radius:19px;background:#f3f3f5;color:#1c1c1e;
 box-shadow:0 16px 68px rgba(0,0,0,.29);text-align:center;padding:24px 20px 16px;
 font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
.a47-system-icon{width:40px;height:40px;margin:0 auto 12px;color:#696a73}
.a47-system-icon svg{width:40px;height:40px}
.a47-system-title{font-size:16px;font-weight:650;line-height:1.25}
.a47-system-dialog p{font-size:12.5px;line-height:1.55;color:#64646c;margin:9px 0 22px}
.a47-system-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.a47-system-buttons button{background:#e1e1e6;color:#232326;font-size:13px;border-radius:10px;min-height:39px}
.a47-system-buttons button:last-child{background:#2f3037;color:white}
.a47-system-buttons button:hover{filter:brightness(.96)}
@media(max-width:620px){
 .atlas27-auth .a46-pin-form > .a41-primary{width:min(242px,100%)}
 .atlas27-auth .a46-codes .a41-code{font-size:clamp(10px,3.3vw,12.5px);letter-spacing:0}
}

/* DESIGN 048 — additive, inline-only demo for revealing a requested server secret. */
.a48-secret-msg{max-width:100%;margin-top:3px}
.a48-secret-card{width:min(346px,100%);max-width:100%;padding:15px 16px;border-radius:15px;background:var(--surface);color:var(--fg);box-sizing:border-box}
.a48-secret-title{font-size:14px;font-weight:590;margin:0 0 11px}
.a48-secret-hint{font-size:12px;line-height:1.5;color:var(--muted);margin:0 0 13px}
.a48-secret-pin{width:100%;min-height:43px;background:var(--input);border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--fg);font-size:14px;letter-spacing:3px;box-sizing:border-box}
.a48-secret-pin:focus{border-color:var(--focus-outline);outline:none}
.a48-secret-actions{display:flex;align-items:center;gap:9px;margin-top:13px}
.a48-secret-btn{border-radius:10px;border:1px solid var(--line);color:var(--fg);background:transparent;min-height:36px;padding:7px 13px;font-size:12.5px;line-height:1.3}
.a48-secret-btn:hover{background:var(--surface2)}
.a48-secret-btn.main{background:var(--surface2);border-color:var(--surface2);font-weight:560}
.a48-secret-error{color:#d7a4a7;font-size:12px;margin:8px 0 0}
.a48-secret-error:empty{display:none}
.a48-secret-fields{display:grid;gap:0}
.a48-secret-field{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:9px;row-gap:2px;align-items:center;min-height:60px;padding:9px 0}
.a48-secret-field + .a48-secret-field{border-top:1px solid var(--line)}
.a48-secret-label{grid-column:1/-1;color:var(--muted);font-size:11px}
.a48-secret-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;letter-spacing:.25px}
.a48-secret-value.is-hidden{letter-spacing:1.6px}
.a48-secret-field-actions{display:flex;gap:2px;align-items:center}
.a48-secret-icon{width:30px;height:30px;display:grid;place-items:center;color:var(--muted);border-radius:8px;padding:5px}
.a48-secret-icon:hover{background:var(--surface2);color:var(--fg)}
.a48-secret-icon svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.a48-secret-quiet{font-size:11px;color:var(--faint);margin-top:8px}
.a48-secret-close{color:var(--muted);font-size:11.5px;padding:5px 0 1px;margin-top:9px;text-align:left}
.a48-secret-close:hover{color:var(--fg)}
@media(max-width:620px){.a48-secret-card{width:min(346px,100%);padding:13px 14px}}

/* DESIGN 049 — same PIN dots as approved DESIGN 047 login, only inside Account profile. */
.pin-slot .pin-panel .a49-profile-pin-entry{position:relative;width:min(258px,100%);height:51px;box-sizing:border-box;margin:8px auto 11px;background:var(--input);border:1px solid var(--line);border-radius:12px}
.pin-slot .a49-profile-pin-entry .a46-pin-display{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--fg);pointer-events:none}
.pin-slot .a49-profile-pin-entry .a47-dot-slot{width:11px;height:12px;display:grid;place-items:center;flex:none}
.pin-slot .a49-profile-pin-entry .a46-pin-dot{display:block;width:5px;height:5px;background:var(--muted);border-radius:50%;opacity:.44;transition:width .15s,height .15s,background .15s,opacity .15s}
.pin-slot .a49-profile-pin-entry .a46-pin-dot.is-filled{width:8px;height:8px;background:var(--fg);opacity:1}
@media(prefers-reduced-motion:reduce){.pin-slot .a49-profile-pin-entry .a46-pin-dot{transition:none}}

/* DESIGN 055: match the approved secret-value card width; center only the compact in-chat PIN entry and controls. */
.a48-secret-card.a48-pin-form{width:min(346px,100%)}
.a48-pin-form .a48-secret-title,.a48-pin-form .a48-secret-error{text-align:center}
.a48-pin-form .a52-pin-shell{margin-left:auto;margin-right:auto}
.a48-pin-form .a48-secret-actions{justify-content:center}

/* DESIGN 052: only in-chat demo PIN and secret-save UI; all other screens unchanged. */
.a48-secret-pin.a52-pin-shell{position:relative;display:block;width:min(178px,100%);height:43px;padding:0;min-height:43px;overflow:hidden}
.a52-pin-shell:focus-within{border-color:var(--focus-outline)}
.a52-pin-entry{position:absolute;inset:0;width:100%;height:100%;border:0!important;background:transparent!important;color:transparent!important;caret-color:transparent!important;box-shadow:none!important;text-shadow:none!important;-webkit-text-fill-color:transparent!important;font-size:16px;padding:0 10px;outline:0!important;z-index:2;box-sizing:border-box}
.a52-pin-dots{position:absolute;inset:0;display:flex;gap:10px;align-items:center;justify-content:center;pointer-events:none}
.a52-pin-dot-slot{width:11px;height:12px;display:grid;place-items:center;flex:none}
.a52-pin-dot{display:block;width:5px;height:5px;background:var(--muted);border-radius:50%;opacity:.44;transition:width .15s,height .15s,background .15s,opacity .15s}
.a52-pin-dot.is-filled{width:8px;height:8px;background:var(--fg);opacity:1}
.a52-save-card .a48-secret-field{grid-template-columns:minmax(0,1fr) auto}
.a52-edit{min-width:0;width:100%;font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;background:transparent;border:0;border-bottom:1px solid transparent;color:var(--fg);padding:3px 0;outline:0!important;box-shadow:none!important;letter-spacing:.1px}
.a52-edit:hover{border-bottom-color:var(--line)}
.a52-edit:focus{border-bottom-color:var(--focus-outline);outline:0!important;box-shadow:none!important}
.a52-edit.a52-concealed{color:transparent!important;caret-color:transparent!important;-webkit-text-fill-color:transparent!important}
.a52-value-wrap{min-width:0;position:relative}
.a52-masked-text{position:absolute;left:0;top:50%;transform:translateY(-50%);font-size:13px;letter-spacing:1.6px;white-space:nowrap;pointer-events:none;color:var(--fg);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.a52-value-wrap:not(.is-concealed) .a52-masked-text{display:none}
.a52-save-card .a48-secret-actions{align-items:stretch;flex-wrap:wrap}
.a52-save-card .a48-secret-btn.main{min-width:0}
@media(prefers-reduced-motion:reduce){.a52-pin-dot{transition:none}}

/* DESIGN 051 — precise Owner-selected 4/6 PIN UX, shared profile/auth visual language. */
.a51-pin-choice{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 auto 10px}
.a51-pin-size{display:grid;place-items:center;min-width:51px;min-height:30px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--muted);font-size:13px;line-height:1.1;font-weight:500;padding:5px 12px}
.a51-pin-size:hover{background:var(--surface2);color:var(--fg)}
.a51-pin-size.selected{background:var(--surface2);color:var(--fg);border-color:var(--focus-outline)}
.pin-slot .pin-panel .a51-pin-choice{margin:7px auto 10px}
/* Desktop logo aligns to the exact visible text origin of the existing app button,
   which has 6px inline and 1px top browser-control padding. Leave app branding untouched. */
@media(min-width:621px){.atlas27-auth .a27-stage .a27-wordmark{left:40px;top:27px}}

/* ATLAS18 PRIVACY EXPERIMENT 057 — scoped exclusively to the privacy page. */
.privacy-023 .p57-main{max-width:655px;padding-bottom:35px}
.privacy-023 .p57-lead{font-size:13px;color:var(--muted);line-height:1.7;margin:2px 0 22px;max-width:580px}
.privacy-023 .p57-explainer{display:grid;gap:0;margin:7px 0 10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.privacy-023 .p57-explainer-row{padding:18px 2px 16px}
.privacy-023 .p57-explainer-row+.p57-explainer-row{border-top:1px solid color-mix(in srgb,var(--line) 57%,transparent)}
.privacy-023 .p57-explainer-row strong{display:block;font-size:14px;font-weight:590;margin-bottom:5px}
.privacy-023 .p57-explainer-row p{font-size:12.5px;line-height:1.65;color:var(--muted);margin:0}
.privacy-023 .p57-note{font-size:12px;color:var(--muted);line-height:1.65;margin:13px 0 22px}
.privacy-023 .p57-nav{margin-top:22px;display:grid}
.privacy-023 .p57-nav-item{width:100%;display:flex;align-items:center;gap:13px;text-align:left;padding:18px 2px;border-bottom:1px solid color-mix(in srgb,var(--line) 65%,transparent);min-height:76px}
.privacy-023 .p57-nav-item:first-child{border-top:1px solid color-mix(in srgb,var(--line) 65%,transparent)}
.privacy-023 .p57-nav-item:hover{background:color-mix(in srgb,var(--surface2) 30%,transparent)}
.privacy-023 .p57-nav-icon{width:35px;height:35px;border-radius:10px;background:var(--surface);display:grid;place-items:center;color:var(--muted);flex:none}
.privacy-023 .p57-nav-icon .ico{width:18px;height:18px}
.privacy-023 .p57-nav-copy{min-width:0;flex:1}.privacy-023 .p57-nav-copy strong{font-size:14px;font-weight:570;display:block}
.privacy-023 .p57-nav-copy small{color:var(--muted);font-size:12px;display:block;line-height:1.55;margin-top:3px}
.privacy-023 .p57-nav-arrow{font-size:22px;color:var(--faint);padding:0 8px}
.privacy-023 .p57-back{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;padding:7px 2px;margin:0 0 18px}
.privacy-023 .p57-back:hover{color:var(--fg)}.privacy-023 .p57-back .ico{width:17px;height:17px}
.privacy-023 .p57-title{font-size:22px;font-weight:590;line-height:1.28;letter-spacing:-.4px;margin:0 0 11px}
.privacy-023 .p57-primary{background:var(--surface2);border:1px solid var(--line);border-radius:11px;padding:11px 16px;font-size:13px;min-height:41px}
.privacy-023 .p57-primary:hover{background:var(--button)}
.privacy-023 .p57-one-action{padding:16px 0;margin-top:9px}
.privacy-023 .p57-settings-section{margin:20px 0 30px}.privacy-023 .p57-settings-section h3{font-size:15px;margin:0 0 10px!important}
.privacy-023 .p57-category{padding:18px 0;border-bottom:1px solid var(--line)}
.privacy-023 .p57-category:first-of-type{border-top:1px solid var(--line)}
.privacy-023 .p57-category-header{display:flex;gap:16px;align-items:center;justify-content:space-between;min-width:0;flex-wrap:wrap}
.privacy-023 .p57-category-header>div{flex:1;min-width:200px}
.privacy-023 .p57-category-header strong{display:block;font-size:14px;font-weight:570}
.privacy-023 .p57-category-header p{font-size:12px;color:var(--muted);margin:4px 0 0;line-height:1.55}
.privacy-023 .p57-category select{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:12px;max-width:100%;min-width:175px}
.privacy-023 .p57-topics{display:flex;flex-wrap:wrap;gap:8px 15px;margin:17px 0 5px}
.privacy-023 .p57-topic{display:inline-flex;gap:7px;align-items:center;font-size:12px;min-height:33px;color:var(--fg)}
.privacy-023 .p57-topic input{accent-color:#8299aa;width:15px;height:15px}
.privacy-023 .p57-picker{margin:15px 0 9px;padding:14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 40%,transparent);min-width:0}
.privacy-023 .p57-picker-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:11px}
.privacy-023 .p57-picker-header strong{font-size:12.5px;font-weight:590}
.privacy-023 .p57-picker-count{font-size:11.5px;color:var(--muted);white-space:nowrap}
.privacy-023 .p57-search{height:40px;font-size:12.5px;padding:9px 12px}
.privacy-023 .p57-picker-toolbar{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:8px;margin:11px 0 9px}
.privacy-023 .p57-filter-group{display:flex;align-items:center;gap:3px;border-radius:10px;border:1px solid var(--line);padding:3px}
.privacy-023 .p57-filter-group button{font-size:11.5px;color:var(--muted);padding:7px 10px;border-radius:8px}
.privacy-023 .p57-filter-group button.active{background:var(--surface2);color:var(--fg)}
.privacy-023 .p57-folder{min-width:105px;max-width:160px;padding:7px 11px;font-size:12px;border:1px solid var(--line);background:var(--surface);border-radius:9px}
.privacy-023 .p57-results{max-height:235px;overflow-y:auto;overscroll-behavior:contain;padding:0 2px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--faint) 55%,transparent) transparent}
.privacy-023 .p57-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 13px}
.privacy-023 .p57-results .p23-select-contact{min-width:0}
.privacy-023 .p57-results .p23-select-contact .p57-person-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.privacy-023 .p57-empty{font-size:12px;color:var(--muted);padding:16px 3px}
.privacy-023 .p57-more{display:block;width:100%;text-align:center;color:var(--muted);font-size:12px;padding:11px 5px;border-top:1px solid var(--line)}
.privacy-023 .p57-more:hover{color:var(--fg)}
.privacy-023 .p57-permission-count{white-space:normal}
.privacy-023 .p57-current-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}
.privacy-023 .p57-consent{border-top:1px solid var(--line);margin-top:20px;padding-top:14px}
.privacy-023 .p57-consent-hint{color:var(--muted);font-size:12px;line-height:1.65}
@media(max-width:810px){.privacy-023 .p57-results-grid{grid-template-columns:1fr}.privacy-023 .p57-category select{min-width:0}}


/* DESIGN 057: approved focused privacy revisions. */
.privacy-023 .p57-explainer-row{padding:12px 2px 11px}
.privacy-023 .p57-explainer-row strong{margin-bottom:4px}
.privacy-023 .p57-note{margin:10px 0 18px}
.privacy-023 .p57-back{margin:0 0 17px;padding:6px 2px}
.privacy-023 .p57-back .ico{width:16px;height:16px}
.privacy-023 .p57-advanced-toggle{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:14px 1px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:22px 0 8px}
.privacy-023 .p57-advanced-toggle span{flex:1;min-width:0}
.privacy-023 .p57-advanced-toggle strong{display:block;font-size:14px;font-weight:590}
.privacy-023 .p57-advanced-toggle small{display:block;color:var(--muted);font-size:12px;margin-top:4px;line-height:1.5}
.privacy-023 .p57-advanced-toggle .ico{width:17px;height:17px;transition:transform .15s ease}
.privacy-023 .p57-advanced-toggle[aria-expanded="true"] .ico{transform:rotate(90deg)}
.privacy-023 .p57-advanced-content{padding-top:4px}
/* Only answer-related action rows; normal message spacing is untouched. */
.p26-chat-actions{margin-top:13px;margin-bottom:0}


/* DESIGN 058 — same invitation manager in Contacts and Profile > Privacy. */
.p58-section{padding:13px 0 18px;border-bottom:1px solid var(--line)}
.p58-section h3{font-size:14px;font-weight:600;margin:0 0 7px}
.p58-section .p58-caption{font-size:12px;line-height:1.55;color:var(--muted);margin:7px 0 12px}
.p58-link-row{display:flex;align-items:center;gap:8px;margin:10px 0;min-width:0}
.p58-link-row input{font-size:12px;min-width:0;flex:1;line-height:1.5;cursor:text;padding:11px 10px}
.p58-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:10px}
.p58-actions .mini-btn{font-size:12px}
.p58-status{font-size:12px;color:var(--muted);padding:10px 0}
.p58-demo-note{font-size:11px!important;line-height:1.6;color:var(--muted);margin:16px 0 0!important}
.p58-section .p58-danger{color:var(--danger,var(--fg))}
.p58-visibility-shortcut{margin:7px 0 22px}
.p58-visibility-shortcut .setting-row{border-bottom:0}

