:root{--bg:#f5f5f7;--glass:rgba(255,255,255,.72);--white:#fff;--line:rgba(0,0,0,.075);--text:#1d1d1f;--muted:#6e6e73;--faint:#a1a1a6;--blue:#0071e3;--green:#34c759;--shadow:0 18px 60px rgba(0,0,0,.08)}
*{box-sizing:border-box}html,body,#root{width:100%;height:100%;min-height:100%;margin:0}body{overflow:hidden;min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}button,textarea{font:inherit}.luna-shell{height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:260px minmax(0,1fr);position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 70% 0%,rgba(167,194,255,.35),transparent 29%),radial-gradient(circle at 14% 90%,rgba(211,180,255,.2),transparent 24%),linear-gradient(145deg,#fbfbfd,#f2f3f7)}.ambient{position:absolute;border-radius:50%;filter:blur(90px);z-index:-1;pointer-events:none}.ambient-one{width:430px;height:430px;background:#afc8ff;opacity:.2;top:-260px;right:4%}.ambient-two{width:360px;height:360px;background:#dcc5ff;opacity:.16;bottom:-250px;left:34%}.grain{display:none}
.rail{height:100%;padding:22px 14px 16px;display:flex;flex-direction:column;border-right:1px solid rgba(0,0,0,.065);background:rgba(247,247,249,.74);backdrop-filter:saturate(180%) blur(28px)}.brand{height:42px;display:flex;align-items:center;gap:11px;padding:0 10px;color:var(--text);text-decoration:none;font-size:16px;font-weight:650;letter-spacing:-.02em}.brand-orb,.mini-orb{display:inline-block;flex:none;border-radius:50%;background:radial-gradient(circle at 33% 25%,#fff 0 7%,#dff2ff 16%,transparent 31%),conic-gradient(from 210deg,#6e5cff,#62a8ff,#aee9ff,#fff,#ab8dff,#6e5cff);box-shadow:inset -7px -9px 16px rgba(57,34,160,.2),0 3px 12px rgba(89,89,210,.22)}.brand-orb{width:27px;height:27px}.compose-new{width:100%;height:43px;margin:19px 0 30px;padding:0 13px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.65);color:#343437;font-size:13px;font-weight:500;cursor:pointer;transition:.2s}.compose-new:hover{transform:translateY(-1px);background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.06)}.compose-new i{font-style:normal;font-size:19px;color:var(--blue)}.rail-label{padding:0 10px 9px;color:#99999e;font-size:11px;font-weight:600}.conversation{border:0;width:100%;min-height:56px;padding:7px 10px;border-radius:11px;background:transparent;color:var(--muted);display:grid;grid-template-columns:25px 1fr auto;gap:8px;align-items:center;text-align:left}.conversation.active{background:rgba(0,0,0,.047);color:var(--text)}.conversation-icon{font-size:18px;color:var(--blue)}.conversation>span:nth-child(2){display:flex;flex-direction:column;gap:3px;min-width:0}.conversation strong{font-size:12px;font-weight:560}.conversation small{font-size:10px;color:var(--faint)}.conversation b{font-weight:500;color:#aaa}.rail-fill{flex:1}.privacy{margin:0 3px 12px;padding:12px;display:flex;gap:10px;border:1px solid rgba(0,113,227,.1);border-radius:13px;background:rgba(232,243,255,.6)}.privacy>span{font-size:20px;color:var(--blue)}.privacy div,.account div{display:flex;flex-direction:column;gap:3px}.privacy strong{font-size:10px;color:#394d61}.privacy small{font-size:9px;line-height:1.4;color:#7e8d9a}.account{border-top:1px solid var(--line);padding:14px 6px 0;display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center}.account-avatar{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#e6e8ee,#fff);border:1px solid var(--line);color:#5852a7;font-size:10px;font-weight:600}.account strong{font-size:11px}.account small{font-size:9px;color:var(--faint)}.account small i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#c3c3c7}.account small i.online{background:var(--green)}.account button{border:0;background:none;color:#aaa}
.workspace{height:100vh;height:100dvh;min-height:0;min-width:0;position:relative;display:grid;grid-template-rows:64px minmax(0,1fr)}.topbar{padding:0 30px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(0,0,0,.055);background:rgba(255,255,255,.38);backdrop-filter:saturate(180%) blur(22px);z-index:4}.agent-title{display:flex;align-items:center;gap:10px}.mini-orb{width:28px;height:28px}.agent-title>div{display:flex;flex-direction:column}.agent-title strong{font-size:13px;font-weight:650}.agent-title small{color:var(--muted);font-size:10px}.status-pill{margin-left:auto;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.55);color:var(--muted);font-size:10px;font-weight:550}.status-pill i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#aaa;margin-right:6px}.status-pill.ready{color:#21823f;background:rgba(231,249,236,.72);border-color:rgba(52,199,89,.16)}.status-pill.ready i{background:var(--green)}.status-pill.auth i,.status-pill.connecting i{background:var(--blue);animation:pulse 1.2s infinite}.mobile-brand{display:none}.conversation-space{height:100%;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.14) transparent}.conversation-space::-webkit-scrollbar{width:7px}.conversation-space::-webkit-scrollbar-thumb{background:rgba(0,0,0,.13);border-radius:10px}
.landing{min-height:100%;width:min(100%,940px);margin:auto;padding:clamp(44px,7vh,88px) 38px 50px;display:flex;flex-direction:column;align-items:center}.hero-orb{width:112px;height:112px;display:grid;place-items:center;position:relative;margin-bottom:26px;border-radius:28px;background:rgba(255,255,255,.54);border:1px solid rgba(255,255,255,.88);box-shadow:0 24px 60px rgba(77,90,146,.13),inset 0 1px #fff;backdrop-filter:blur(20px)}.hero-orb i{width:62px;height:62px;border-radius:50%;background:radial-gradient(circle at 34% 25%,#fff 0 6%,#dff8ff 16%,transparent 31%),conic-gradient(from 220deg,#6656ed,#5aa9ff,#b9efff,#fff,#b58dff,#6656ed);box-shadow:inset -10px -13px 23px rgba(54,29,157,.22),0 12px 32px rgba(93,97,207,.25);animation:breathe 5s ease-in-out infinite}.hero-orb span{position:absolute;inset:18px;border:1px solid rgba(91,116,201,.15);border-radius:50%;animation:ring 3.8s ease-out infinite}.hero-orb span:nth-child(2){inset:8px;animation-delay:1.9s}@keyframes breathe{50%{transform:scale(1.045)}}@keyframes ring{75%,100%{transform:scale(1.19);opacity:0}}@keyframes pulse{50%{opacity:.3}}.eyebrow{color:var(--blue);font-size:11px;font-weight:650;letter-spacing:.09em;margin-bottom:15px}.landing h1{text-align:center;margin:0;font-size:clamp(44px,5vw,68px);line-height:1.03;font-weight:650;letter-spacing:-.055em;color:#171719}.landing h1 em{font-style:normal;background:linear-gradient(90deg,#765bdc,#2788e8);background-clip:text;-webkit-background-clip:text;color:transparent}.lead{max-width:580px;margin:20px 0 28px;text-align:center;color:var(--muted);font-size:16px;line-height:1.5}.login{width:min(100%,350px);height:50px;border:0;border-radius:999px;background:var(--blue);color:#fff;display:grid;grid-template-columns:24px 1fr auto;align-items:center;padding:0 17px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 10px 25px rgba(0,113,227,.23);transition:.2s}.login:hover{transform:translateY(-2px);background:#0077ed;box-shadow:0 14px 32px rgba(0,113,227,.27)}.login:disabled{opacity:.55;cursor:wait}.login b{font-weight:500}.ms-grid{width:17px;height:17px;display:grid;grid-template-columns:1fr 1fr;gap:1px}.ms-grid i:nth-child(1){background:#f25022}.ms-grid i:nth-child(2){background:#7fba00}.ms-grid i:nth-child(3){background:#00a4ef}.ms-grid i:nth-child(4){background:#ffb900}.prompt-grid{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:52px}.prompt-grid>button{min-height:140px;border:1px solid rgba(0,0,0,.06);border-radius:20px;background:rgba(255,255,255,.67);color:var(--text);padding:18px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;cursor:pointer;backdrop-filter:blur(18px);transition:.25s}.prompt-grid>button:hover{transform:translateY(-4px);background:#fff;box-shadow:0 16px 42px rgba(0,0,0,.09)}.prompt-icon{width:37px;height:37px;border-radius:11px;display:grid;place-items:center;color:var(--blue);background:#edf5ff;font-size:16px;margin-bottom:20px}.prompt-grid button>span:nth-child(2){display:flex;flex-direction:column;gap:6px}.prompt-grid small{font-size:10px;color:var(--faint);font-weight:650;text-transform:uppercase;letter-spacing:.07em}.prompt-grid strong{font-size:13px;line-height:1.4;font-weight:550}.prompt-grid b{margin-top:auto;align-self:flex-end;color:#aaa}.notice{margin:14px auto;padding:11px 14px;border-radius:11px;font-size:11px;max-width:680px}.notice.error{border:1px solid rgba(255,59,48,.13);background:rgba(255,59,48,.06);color:#b92820}
.transcript{width:min(100%,880px);min-height:100%;margin:auto;padding:46px 34px 30px}.conversation-intro{text-align:center;margin:7vh auto 55px}.intro-orb{width:54px;height:54px;border-radius:50%;margin:auto;background:radial-gradient(circle at 34% 25%,#fff,#bceaff 22%,#8374ef 68%,#5541bd);box-shadow:inset -8px -8px 15px rgba(34,23,104,.18),0 12px 30px rgba(74,86,177,.2)}.conversation-intro p{font-size:24px;font-weight:650;letter-spacing:-.035em;margin:18px 0 6px}.conversation-intro small{color:var(--muted);font-size:13px}.quick-row{display:flex;justify-content:center;gap:8px;margin-top:24px}.quick-row button{border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.7);color:#555;padding:9px 14px;font-size:11px;cursor:pointer}.quick-row button:hover{color:var(--blue);background:#fff}.message{display:grid;grid-template-columns:38px minmax(0,1fr);gap:13px;margin-bottom:28px;animation:messageIn .3s ease-out both}@keyframes messageIn{from{opacity:0;transform:translateY(7px)}}.message.user{grid-template-columns:minmax(0,1fr) 38px}.message.user .message-avatar{grid-column:2}.message.user .message-body{grid-row:1;grid-column:1;justify-self:end;max-width:76%}.message-avatar{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.75);color:#777;font-size:9px;font-weight:650;box-shadow:0 3px 12px rgba(0,0,0,.05)}.message-avatar .mini-orb{width:21px;height:21px}.message-body{min-width:0;max-width:85%}.message-meta{height:26px;display:flex;align-items:center;gap:8px}.message-meta strong{font-size:11px;font-weight:600;color:#49494d}.message-meta time,.message-meta small{font-size:9px;color:var(--faint)}.user .message-meta{justify-content:flex-end}.message-text{border:1px solid rgba(0,0,0,.055);border-radius:5px 18px 18px 18px;background:rgba(255,255,255,.82);box-shadow:0 5px 20px rgba(0,0,0,.045);padding:14px 17px;color:#343438;font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.user .message-text{border:0;border-radius:18px 5px 18px 18px;background:var(--blue);color:#fff;box-shadow:0 7px 20px rgba(0,113,227,.18)}.message-text a{color:var(--blue)}.user .message-text a{color:#fff}.copy-message{margin-top:7px;border:0;background:transparent;color:#aaa;font-size:9px;padding:3px;cursor:pointer}.typing-dots{height:42px;width:66px;border:1px solid var(--line);border-radius:5px 17px 17px 17px;background:rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;gap:5px}.typing-dots i{width:5px;height:5px;border-radius:50%;background:#8b8b90;animation:dots 1.2s infinite}.typing-dots i:nth-child(2){animation-delay:.18s}.typing-dots i:nth-child(3){animation-delay:.36s}@keyframes dots{50%{transform:translateY(-3px);background:var(--blue)}}.adaptive-card{margin-top:9px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.85);padding:17px;min-width:280px;box-shadow:0 8px 28px rgba(0,0,0,.06)}.adaptive-card p{font-size:13px;color:var(--muted);line-height:1.5}.adaptive-card .card-title{font-size:16px;font-weight:650;color:var(--text)}.card-fact{border-top:1px solid var(--line);padding:10px 0;display:flex;justify-content:space-between;gap:18px;font-size:12px}.card-actions,.suggested-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}.card-actions button,.suggested-actions button,.file-card{border:0;border-radius:999px;background:#eaf3ff;color:var(--blue);padding:9px 13px;font-size:11px;font-weight:600;text-decoration:none;cursor:pointer}.file-card{display:inline-flex;gap:8px;margin-top:8px}
.conversation-space.has-chat{padding-bottom:132px}.composer-wrap{position:absolute;left:50%;bottom:0;z-index:8;transform:translateX(-50%);width:min(calc(100% - 54px),850px);margin:0;padding:0 0 max(14px,env(safe-area-inset-bottom))}.composer{border:1px solid rgba(0,0,0,.09);border-radius:21px;background:rgba(255,255,255,.82);box-shadow:0 12px 45px rgba(0,0,0,.1),inset 0 1px #fff;padding:11px 12px 10px;backdrop-filter:saturate(180%) blur(24px);transition:.2s}.composer:focus-within{border-color:rgba(0,113,227,.3);box-shadow:0 13px 48px rgba(0,0,0,.11),0 0 0 4px rgba(0,113,227,.07)}.composer textarea{width:100%;min-height:39px;max-height:130px;resize:none;border:0;outline:0;background:transparent;color:var(--text);padding:7px 9px;font-size:14px;line-height:1.5}.composer textarea::placeholder{color:#a3a3a8}.composer-tools{border-top:1px solid rgba(0,0,0,.055);padding-top:9px;display:flex;align-items:center;gap:7px}.composer-tools>span{color:#aaa;font-size:9px;margin-right:auto}.tool-button,.voice-button,.send-button{width:31px;height:31px;border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer}.tool-button,.voice-button{background:transparent;color:#999}.voice-button i{width:8px;height:13px;border:1.5px solid #79797e;border-radius:6px;position:relative}.voice-button i:after{content:"";position:absolute;width:11px;height:6px;border:1.5px solid #79797e;border-top:0;border-radius:0 0 7px 7px;left:-3px;bottom:-5px}.send-button{background:var(--blue);color:#fff;font-size:16px}.send-button:disabled{background:#d7d7da}.disclaimer{display:block;text-align:center;color:#9a9a9f;font-size:9px;margin-top:8px}
.connection-card{margin-top:9px;width:min(100%,450px);border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.9);padding:19px;box-shadow:0 16px 46px rgba(0,0,0,.09)}.connection-card-head{display:flex;gap:12px;align-items:center}.connection-symbol{width:40px;height:40px;border-radius:12px;background:#edf5ff;display:grid;place-items:center;color:var(--blue);font-size:21px}.connection-card-head>div{display:flex;flex-direction:column;gap:2px}.connection-card-head small{color:var(--blue);font-size:9px;font-weight:650;letter-spacing:.08em}.connection-card h3{margin:0;font-size:16px;font-weight:650}.connection-card>p{margin:15px 0;color:var(--muted);font-size:12px;line-height:1.5}.connection-scope{display:flex;gap:10px;align-items:center;border-radius:13px;background:#f5f5f7;padding:12px}.connection-scope>span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#e5f7ea;color:#269644}.connection-scope>div{display:flex;flex-direction:column}.connection-scope small{color:var(--faint);font-size:9px}.connection-scope strong{font-size:11px}.connection-card details{margin-top:11px}.connection-card summary{color:#888;font-size:10px}.connection-card details p{font-size:10px;color:#777}.connection-buttons{margin-top:15px}.connection-buttons>button{width:100%;height:45px;border:0;border-radius:999px;background:var(--blue);color:#fff;display:grid;grid-template-columns:21px 1fr auto;align-items:center;padding:0 15px;font-size:12px;font-weight:600;cursor:pointer}.connection-buttons>button b{font-weight:500}.connection-buttons .ms-grid{width:15px;height:15px}.connection-missing{margin-top:14px;padding:11px;border:1px solid rgba(255,149,0,.16);border-radius:12px;background:rgba(255,149,0,.055);display:flex;align-items:center;gap:12px}.connection-missing span{color:#8a6531;font-size:10px}.connection-missing button{border:0;border-radius:999px;background:#fff;color:var(--blue);padding:8px 10px;font-size:9px}
@media(max-width:980px){.prompt-grid{grid-template-columns:1fr 1fr}.prompt-grid>button{min-height:110px}}@media(max-width:800px){.luna-shell{grid-template-columns:1fr}.rail{display:none}.workspace{grid-template-rows:59px minmax(0,1fr)}.topbar{padding:0 17px}.mobile-brand{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:650}.mobile-brand .brand-orb{width:22px;height:22px}.agent-title{display:none}.landing{padding:5vh 18px 30px}.landing h1{font-size:43px}.lead{font-size:14px}.prompt-grid{margin-top:34px}.transcript{padding:34px 17px 20px}.composer-wrap{width:calc(100% - 24px)}.composer-tools>span{display:none}.message-body{max-width:92%}.quick-row{flex-wrap:wrap}}@media(max-width:520px){.landing h1{font-size:38px}.hero-orb{width:94px;height:94px}.prompt-grid{grid-template-columns:1fr}.prompt-grid>button{min-height:82px;display:grid;grid-template-columns:39px 1fr auto;gap:12px;align-items:center;padding:14px}.prompt-icon{margin:0}.prompt-grid b{margin:0}.message{grid-template-columns:31px minmax(0,1fr);gap:9px}.message-avatar{width:30px;height:30px}.message.user{grid-template-columns:minmax(0,1fr) 31px}.message-text{font-size:13px;padding:12px 14px}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}

.screenshot-tool{margin-left:auto}.screenshot-tool input{display:none}.screenshot-tool button{height:32px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.65);color:#4f4f54;display:flex;align-items:center;gap:7px;font-size:10px;font-weight:600;cursor:pointer;transition:.2s}.screenshot-tool button:hover{background:#fff;color:var(--blue);box-shadow:0 5px 18px rgba(0,0,0,.06)}.screenshot-tool button:disabled{opacity:.6;cursor:wait}.screenshot-tool button span{color:var(--blue);font-size:13px}.screenshot-tool+.status-pill{margin-left:0}
@media(max-width:520px){.screenshot-tool button{width:32px;padding:0;justify-content:center}.screenshot-tool button span{font-size:14px}.screenshot-tool button{font-size:0}.screenshot-tool button span{font-size:14px}}

.sidebar-upload{width:calc(100% - 6px);margin:-3px 3px 12px}.sidebar-upload button{width:100%;height:39px;justify-content:center;border-color:rgba(0,113,227,.12);background:rgba(232,243,255,.72);color:var(--blue);font-size:11px}.sidebar-upload button:hover{background:#e5f1ff;box-shadow:none}

/* Viewport hard lock: avoids stale viewport height after Microsoft popup authentication */
.luna-shell{position:fixed;inset:0;width:100%;height:auto;min-height:0}
.rail{position:fixed;inset:0 auto 0 0;width:260px;height:auto}
.workspace{position:fixed;inset:0 0 0 260px;width:auto;height:auto;min-height:0}
@media(max-width:800px){.workspace{inset:0}.rail{display:none}}
