@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Newsreader:opsz,wght@6..72,400;6..72,600&family=Outfit:wght@400;500;600&display=swap');
:root{--ink:#f7f7ff;--muted:#aeb3cc;--line:rgba(173,181,255,.17);--panel:rgba(14,17,38,.7);--panel-solid:#11152d;--violet:#9b6cff;--blue:#42baff;--accent:#8c62ff}
*{box-sizing:border-box}
body{margin:0;font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:#070914;min-height:100vh}
body:before{content:'';position:fixed;inset:0;z-index:-2;background:radial-gradient(ellipse 75% 50% at 13% 0%,#221744 0%,transparent 65%),radial-gradient(ellipse 55% 42% at 100% 100%,#052743 0%,transparent 70%),#070914}
#ambient{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}
.shell{display:flex;flex-direction:row;min-height:100vh}
.sidebar{width:260px;height:100vh;height:100dvh;background:#1a1a1a;border-right:1px solid rgba(255,255,255,.1);position:fixed;left:0;top:0;display:flex;flex-direction:column;overflow-y:auto;z-index:200;transition:transform .25s ease}
.sidebar-header{padding:16px 12px;display:flex;gap:8px;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}
.sidebar-action{display:flex;align-items:center;justify-content:center;gap:10px;flex:1;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);color:#fff;font:13px 'Inter';padding:10px 12px;border-radius:8px;cursor:pointer;transition:.2s}
.sidebar-action:hover{background:rgba(255,255,255,.1)}
.sidebar-action span{font-size:16px}
.sidebar-toggle{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border:0;background:none;color:#aeb3cc;font-size:18px;cursor:pointer;transition:.2s}
.sidebar-toggle:hover{color:#fff}
.sidebar-content{flex:1;padding:12px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}
.sidebar-section{display:flex;flex-direction:column;gap:6px}
.sidebar-section h3{margin:0;font-size:11px;font-weight:600;letter-spacing:.08em;color:#888;padding:8px 12px 4px;text-transform:uppercase}
.tools-items{display:flex;flex-direction:column;gap:4px}
.sidebar-item{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;color:#e5e7eb;font:14px 'Inter';padding:10px 12px;border-radius:8px;cursor:pointer;transition:.2s;text-align:left}
.sidebar-item span:first-child{font-size:16px;flex-shrink:0}
.sidebar-item span:last-child{flex:1}
.sidebar-item:hover{background:rgba(255,255,255,.1);color:#fff}
.sidebar-bottom{padding:12px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:8px}
.last7-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:8px}
.day-summary{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer}
.day-label{font-size:10px;color:#888;font-weight:600}
.day-bar{width:4px;background:linear-gradient(180deg,#10a37f,#5a9fd7);border-radius:2px;min-height:20px;transition:.2s}
body.sidebar-closed .sidebar{transform:translateX(-100%)}
.sidebar-open{display:none;position:fixed;top:12px;left:12px;width:40px;height:40px;align-items:center;justify-content:center;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:rgba(26,26,26,.92);color:#fff;font-size:18px;cursor:pointer;z-index:110}
body.sidebar-closed .sidebar-open{display:flex}
.backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:150}
.chat-history{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto}
.chat-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:rgba(255,255,255,.05);border-radius:6px;font-size:13px;color:#e5e7eb;cursor:pointer;transition:.2s}
.chat-item.active{background:rgba(140,98,255,.28);color:#fff}
.chat-item .icon{font-size:14px;flex-shrink:0}
.chat-item .title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-del{border:0;background:none;color:#888;font-size:18px;line-height:1;cursor:pointer;padding:0 4px;flex-shrink:0}
.chat-del:hover{color:#ff8080}
.chat-item:hover{background:rgba(255,255,255,.1);color:#fff}
.sidebar-bottom p{margin:0 0 12px;font-size:12px;color:#aeb3cc;line-height:1.4}
.signin-btn{width:100%;border:1px solid rgba(137,113,255,.5);background:linear-gradient(115deg,rgba(133,87,255,.26),rgba(40,182,255,.17));color:#fff;border-radius:8px;padding:10px 14px;font:600 13px 'Inter';cursor:pointer;transition:.18s ease}
.signin-btn:hover{transform:translateY(-1px);border-color:var(--blue)}
.app{flex:1;min-width:0;margin-left:260px;width:calc(100% - 260px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;transition:margin-left .25s ease,width .25s ease}
body.sidebar-closed .app{margin-left:0;width:100%}
.bottom-nav{display:none}
.view{display:none;width:100%;height:100%;position:relative}
.view.active{display:flex;align-items:center;justify-content:flex-start}
#chat.view.active{overflow:visible}
.view-container{width:100%;display:flex;flex-direction:column;align-items:center;padding:0 40px}
.back-btn-absolute{position:absolute;top:40px;left:40px;border:0;background:none;color:#aeb3cc;font:14px 'Inter';cursor:pointer;padding:8px 12px;border-radius:8px;transition:.2s;display:flex;align-items:center;gap:6px;z-index:10}
.back-btn-absolute:hover{color:#fff;background:rgba(135,123,255,.1)}
h1{font-family:'Newsreader',serif;font-size:56px;font-weight:600;margin:0 0 16px;color:var(--ink);text-align:center}
h2,h3{font-family:'Newsreader',serif;font-weight:600}
.tagline{font-size:20px;color:var(--muted);text-align:center;margin:0 0 60px;font-weight:400}
.hero{text-align:center;margin-bottom:40px}
.chat-container{width:100%;display:flex;flex-direction:column;gap:0;flex:1;justify-content:flex-start;padding:20px 40px;padding-bottom:180px;overflow-y:auto}
.messages{width:100%;display:flex;flex-direction:column;gap:12px;padding:0}
.message{padding:12px 16px;border-radius:12px;line-height:1.6;font-size:15px;animation:rise .25s ease-out;word-wrap:break-word}
.message.user{align-self:flex-end;background:linear-gradient(135deg,#714be6,#327de6);color:white;border-bottom-right-radius:4px}
.message.companion{align-self:flex-start;background:rgba(19,23,49,.72);border:1px solid var(--line);border-bottom-left-radius:4px}
.message button{float:right;border:0;background:none;color:#85cfff;cursor:pointer;margin-left:8px}
.chat-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px;width:min(800px,calc(100vw - 300px));display:flex;flex-direction:column;gap:16px;box-shadow:0 15px 40px rgba(0,0,0,.15);position:fixed;bottom:20px;left:260px;right:0;margin:0 auto;flex-shrink:0;z-index:100;transition:left .25s ease,width .25s ease,padding .2s ease}
body.sidebar-closed .chat-card{left:0;width:min(800px,calc(100vw - 40px))}
.chat-card.compact{padding:12px 16px;gap:6px}
.chat-card.compact .card-header{display:none}
#chat.has-messages .hero{display:none}
.card-header{display:flex;gap:12px;align-items:center}
.card-header select{flex:1;background:#0a0d21;border:1px solid rgba(135,123,255,.2);border-radius:8px;color:var(--ink);padding:10px;font:14px 'Inter';cursor:pointer}
.effort-control{background:none;border:1px solid rgba(135,123,255,.2);border-radius:8px;padding:10px 14px;color:#8c9bff;font:600 13px 'Inter';cursor:pointer;white-space:nowrap;transition:.2s}
.effort-control:hover{border-color:var(--blue);color:var(--blue)}
.input-area{display:flex;gap:8px;align-items:flex-end}
.input-area textarea{flex:1;background:transparent;border:none;outline:0;resize:none;max-height:120px;font:15px 'Inter';color:var(--ink);padding:8px 0}
.input-area textarea::placeholder{color:#777e9f}
.input-area button{border:0;background:none;font-size:20px;color:#9fa6c8;cursor:pointer;padding:4px 8px;transition:.2s}
.input-area button:hover{color:var(--blue)}
.send-btn{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,var(--violet),var(--blue));color:#fff;font-weight:700;line-height:1;box-shadow:0 0 19px rgba(86,151,255,.39)}
.send-btn:hover{filter:brightness(1.15)}
.listening{color:#9ecbff;font-size:11px;margin:0}
.listening:empty{display:none}
.plan-container{width:100%;display:grid;gap:24px;grid-template-columns:1fr}
.tasks-card,.advice-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 15px 40px rgba(0,0,0,.15)}
.tasks-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.tasks-header h3{margin:0}
.tasks-header button{border:1px solid rgba(137,113,255,.5);background:linear-gradient(115deg,rgba(133,87,255,.26),rgba(40,182,255,.17));color:#fff;border-radius:8px;padding:8px 12px;font:600 12px 'Inter';cursor:pointer;transition:.18s ease}
.tasks-header button:hover{transform:translateY(-1px);border-color:var(--blue)}
#tasks{display:grid;gap:12px}
.task{display:flex;align-items:center;gap:11px;padding:12px;background:rgba(135,123,255,.05);border-radius:8px;font-size:14px;transition:.2s}
.task:hover{background:rgba(135,123,255,.1)}
.task input{accent-color:var(--violet);cursor:pointer}
.task span{flex:1}
.task small{color:var(--muted);font-size:12px}
.task.done span{text-decoration:line-through;color:var(--muted)}
.empty{color:var(--muted);font-size:14px;text-align:center;padding:20px}
.advice-card h3{margin:0 0 12px}
.advice-card p{margin:0;color:#c8cbe0;line-height:1.6}
.settings-container{width:100%;max-width:600px}
.settings-tabs{display:flex;gap:4px;padding:0 0 16px;border-bottom:1px solid rgba(135,123,255,.15);overflow-x:auto;margin-bottom:24px}
.tab-btn{border:0;background:none;color:#aeb3cc;font:600 12px 'Inter';cursor:pointer;padding:8px 12px;border-radius:8px;transition:.2s;white-space:nowrap}
.tab-btn:hover{color:#c9d5ff;background:rgba(135,123,255,.1)}
.tab-btn.active{color:var(--blue);border-bottom:2px solid var(--blue)}
.settings-body{display:flex;flex-direction:column;gap:24px}
.tab-content{display:none}
.tab-content.active{display:block}
.tab-content h3{font:500 20px 'Newsreader';margin:0 0 16px}
.setting-item{display:grid;gap:8px}
.setting-item b{font-size:13px;color:var(--ink)}
.setting-item small{font-size:11px;color:#aeb3cc}
.setting-item label{display:flex;flex-direction:column;gap:6px}
.setting-item input:not([type=checkbox]){color:var(--ink);background:#0a0d21;border:1px solid rgba(135,123,255,.2);border-radius:8px;padding:10px;font:13px 'Inter';transition:.2s}
.setting-item input:not([type=checkbox]):focus{border-color:var(--blue);outline:0}
.setting-item input[readonly]{background:#0a0d211a;color:#aeb3cc;cursor:not-allowed}
.font-options,.theme-options{display:flex;gap:8px}
.font-choice,.theme-choice{border:1px solid rgba(147,124,255,.3);border-radius:8px;padding:10px 14px;background:#1a1d3d;color:#dce1fb;font:600 11px 'Inter';cursor:pointer;transition:.2s}
.font-choice:hover,.theme-choice:hover{border-color:var(--blue);color:#fff}
.font-choice.selected,.theme-choice.selected{border-color:var(--blue);color:#fff;background:linear-gradient(135deg,#5140bc,#176b9d)}
.checkbox-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:10px;border-radius:8px;transition:.2s}
.checkbox-label:hover{background:rgba(135,123,255,.05)}
.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue);cursor:pointer;margin-top:2px}
.checkbox-label span{display:grid;gap:3px}
.checkbox-label b{font-size:13px}
.checkbox-label small{font-size:11px}
.primary,.secondary,.danger{border:1px solid rgba(137,113,255,.5);background:linear-gradient(115deg,rgba(133,87,255,.26),rgba(40,182,255,.17));color:#fff;border-radius:9px;padding:10px 14px;font:600 13px 'Inter';cursor:pointer;box-shadow:0 0 22px rgba(111,83,250,.1);transition:.18s ease}
.primary:hover,.secondary:hover{transform:translateY(-1px);border-color:var(--blue);box-shadow:0 0 28px rgba(62,180,255,.2)}
.secondary{background:rgba(135,123,255,.1);color:#8c9bff;border-color:rgba(135,123,255,.3)}
.danger{background:linear-gradient(115deg,rgba(255,100,100,.2),rgba(255,60,60,.1));border-color:rgba(255,100,100,.3);color:#ff8080}
.danger:hover{border-color:#ff6060;box-shadow:0 0 28px rgba(255,100,100,.15)}
dialog{color:var(--ink);background:var(--panel-solid);border:1px solid rgba(157,139,255,.32);border-radius:17px;padding:0;box-shadow:0 30px 90px #000;width:min(420px,90vw)}
dialog::backdrop{background:#03040dbb}
dialog form{padding:30px;display:grid;gap:16px}
dialog h2{margin:0}
dialog input:not([type=checkbox]){color:var(--ink);background:#0a0d21;border:1px solid var(--line);border-radius:8px;padding:12px;font:14px 'Inter'}
.close{position:absolute;right:12px;top:9px;border:0;background:none;font-size:23px;color:var(--muted);cursor:pointer}
#effortDialog{border-radius:12px}
.effort-dialog{width:min(380px,90vw);border:1px solid rgba(135,123,255,.35);background:linear-gradient(135deg,rgba(20,15,50,.95),rgba(15,20,45,.95));box-shadow:0 25px 60px rgba(0,0,0,.4),0 0 60px rgba(60,120,255,.15);border-radius:12px}
.effort-dialog::backdrop{background:rgba(0,0,0,.5)}
.effort-content{display:flex;flex-direction:column}
.effort-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(135,123,255,.2)}
.effort-header h3{margin:0;font:500 16px 'Inter';color:var(--ink)}
.effort-body{padding:24px;display:flex;flex-direction:column;gap:16px}
.effort-body label{display:flex;flex-direction:column;gap:10px}
.effort-body span{display:grid;gap:3px}
.effort-body b{font-size:13px;color:var(--ink)}
.effort-body small{font-size:11px;color:var(--muted)}
.effort-body input{accent-color:var(--blue);width:100%;height:6px}
.effort-body output{color:#8c9bff;font-size:13px;font-weight:600;text-align:center}
.effort-body em{display:flex;justify-content:space-between;font-style:normal;color:#737b9e;font-size:10px;pointer-events:none}
.effort-body em i{font-style:normal}
@keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:760px){
.sidebar{width:min(300px,85vw)}
body:not(.sidebar-closed) .backdrop{display:block}
.app{margin-left:0!important;width:100%!important;padding:60px 12px 20px}
.view-container{padding:0 4px}
#settings .view-container{padding-top:48px}
.back-btn-absolute{top:0;left:0}
.chat-container{padding:8px 0 150px}
.chat-card{left:0!important;width:calc(100vw - 24px)!important;bottom:12px;padding:14px;border-radius:14px}
h1{font-size:40px}.tagline{font-size:16px;margin-bottom:40px}
.settings-container{max-width:100%}
}

/* ================= Look refresh: black canvas, glow that follows the pointer, pill composer ================= */
:root{--glow:#1fa8d8}
body{background:#030305}
body:before{background:radial-gradient(ellipse 60% 40% at 50% 0%,rgba(20,60,90,.28),transparent 70%),#030305}
.sidebar{background:rgba(8,8,10,.94);border-right:1px solid rgba(255,255,255,.08);backdrop-filter:blur(12px)}
.chat-item.active{background:rgba(31,168,216,.16)}
.sidebar-open{background:rgba(10,10,12,.9)}
.logo{display:block;width:58px;height:58px;margin:0 auto 20px;filter:drop-shadow(0 0 22px rgba(75,159,232,.4))}
h1{font-family:'Outfit','Inter',system-ui,sans-serif;font-weight:600;letter-spacing:-.035em;font-size:clamp(36px,6vw,56px);margin:0 0 12px}
.tagline{font:400 17px/1.5 'Outfit','Inter',system-ui,sans-serif;color:#9a9ca8;max-width:440px;margin:0 auto 28px}
.hero{margin-bottom:0}
/* composer */
.chat-card{background:rgba(8,8,11,.7);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.14);border-radius:28px;padding:14px 16px 12px;gap:8px;box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 70px rgba(31,168,216,.07)}
.chat-card:focus-within{border-color:rgba(66,186,255,.5);box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 80px rgba(31,168,216,.16)}
.input-area{order:1;align-items:center}
.card-header{order:2;justify-content:space-between}
.input-area textarea{font-size:16px;padding:10px 4px}
.card-header select{flex:none;background:transparent;border:0;border-radius:999px;color:#e8e8ee;padding:6px 8px 6px 24px;font:500 13px 'Outfit','Inter',sans-serif;background-image:radial-gradient(circle at 12px 50%,#a78bfa 0 4px,transparent 5px)}
.card-header select option{background:#0a0a0c;color:#fff}
.effort-control{margin-left:auto;border-radius:999px;border:1px solid rgba(255,138,43,.45);background:rgba(255,138,43,.08);color:#ff9a45;padding:6px 12px;font:500 12px 'Outfit','Inter',sans-serif}
.effort-control:hover{border-color:#ff9a45;color:#ffb36b}
.effort-control:before{content:'Effort ';color:#8a8a93}
.input-area .send-btn{width:40px;height:40px;border-radius:50%;background:#fff;color:#000;font-size:18px;padding:0;box-shadow:0 0 26px rgba(255,255,255,.16)}
.input-area .send-btn:hover{color:#000;filter:brightness(.92)}
.message.user{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);color:#fff}
.message.companion{background:transparent;border:0;padding-left:0}
/* empty chat: hero and composer sit together in the middle */
#chat:not(.has-messages) .messages{display:none}
#chat:not(.has-messages) .chat-container{padding-bottom:20px;overflow:visible}
#chat:not(.has-messages) .chat-card{position:relative!important;left:auto!important;right:auto;bottom:auto;margin:0 auto;width:min(720px,100%)!important}
#chat:not(.has-messages) .chat-card.compact .card-header{display:flex}
@media(max-width:760px){.logo{width:48px;height:48px}.tagline{font-size:15px;margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){.logo{transform:none}}

/* ================= Log in / sign up gate ================= */
.auth{position:fixed;inset:0;z-index:500;display:none;overflow-y:auto;padding:20px}
body.locked .auth{display:flex}
body.locked .shell,body.locked .sidebar-open,body.locked .backdrop{visibility:hidden}
.auth-card{margin:auto;width:min(400px,100%);padding:30px 26px 22px;background:rgba(10,10,13,.62);border:1px solid rgba(255,255,255,.12);border-radius:28px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 30px 90px rgba(0,0,0,.65),0 0 80px rgba(75,159,232,.1);display:flex;flex-direction:column;gap:14px;text-align:center}
.auth-logo .logo{width:52px;height:52px;margin:0 auto 4px}
.auth-title{margin:0;font:600 28px 'Outfit','Inter',sans-serif;letter-spacing:-.03em}
.auth-sub{margin:-6px 0 4px;color:#9a9ca8;font:400 15px 'Outfit','Inter',sans-serif}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.03)}
.auth-tab{border:0;border-radius:999px;background:none;color:#9a9ca8;padding:9px 0;font:500 14px 'Outfit','Inter',sans-serif;cursor:pointer;transition:.2s}
.auth-tab.active{background:rgba(255,255,255,.1);color:#fff}
.auth-google{display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;background:#fff;color:#111;padding:13px 16px;font:600 15px 'Outfit','Inter',sans-serif;cursor:pointer;transition:.2s}
.auth-google:hover{filter:brightness(.93)}
.auth-google svg{width:20px;height:20px}
.auth-or{display:flex;align-items:center;gap:12px;color:#6c7088;font-size:12px}
.auth-or:before,.auth-or:after{content:'';flex:1;height:1px;background:rgba(255,255,255,.12)}
#authForm{display:flex;flex-direction:column;gap:10px}
#authForm input{width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:14px;color:#fff;padding:13px 14px;font:16px 'Inter',sans-serif;outline:0;transition:.2s}
#authForm input:focus{border-color:rgba(75,159,232,.7);background:rgba(255,255,255,.07)}
#authForm input::placeholder{color:#6c7088}
.auth-error{margin:0;min-height:0;color:#ff8a8a;font-size:13px;text-align:left}
.auth-error:empty{display:none}
.auth-submit{border:0;border-radius:999px;background:linear-gradient(135deg,#72bde5,#4b9fe8);color:#04121f;padding:13px 16px;font:600 15px 'Outfit','Inter',sans-serif;cursor:pointer;box-shadow:0 0 28px rgba(75,159,232,.35);transition:.2s}
.auth-submit:hover{filter:brightness(1.08)}
.auth-submit:disabled{opacity:.6;cursor:wait}
.auth-guest{border:0;background:none;color:#8d90a0;font:500 13px 'Outfit','Inter',sans-serif;cursor:pointer;padding:6px}
.auth-guest:hover{color:#fff}
.auth-guest[hidden],#authName[hidden]{display:none}

/* ================= Bottom task bar ================= */
.bottom-nav{display:flex;position:fixed;left:260px;right:0;bottom:calc(12px + env(safe-area-inset-bottom,0px));margin:0 auto;width:fit-content;gap:4px;padding:6px;background:rgba(10,10,13,.8);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.12);border-radius:999px;box-shadow:0 12px 40px rgba(0,0,0,.55);z-index:120;transition:left .25s ease}
body.sidebar-closed .bottom-nav{left:0}
.nav-btn{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:92px;padding:8px 16px;border:0;border-radius:999px;background:none;color:#8d90a0;font:500 11px 'Outfit','Inter',sans-serif;cursor:pointer;transition:.2s}
.nav-btn svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nav-btn small{font-size:11px}
.nav-btn:hover{color:#fff}
.nav-btn.active{background:rgba(75,159,232,.18);color:#fff;box-shadow:inset 0 0 0 1px rgba(75,159,232,.35)}
.chat-card{bottom:calc(86px + env(safe-area-inset-bottom,0px))}
.chat-container{padding-bottom:270px}
.app{padding-bottom:110px}

/* ================= Calendar ================= */
.plan-container{max-width:560px}
.cal-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 15px 40px rgba(0,0,0,.15)}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.cal-head h3{margin:0;font:600 18px 'Outfit','Inter',sans-serif}
.cal-head button{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#fff;font-size:18px;line-height:1;cursor:pointer;transition:.2s}
.cal-head button:hover{border-color:#4b9fe8}
.cal-week,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.cal-week span{font-size:11px;color:#777e9f;padding:6px 0;font-weight:600}
.cal-day{position:relative;aspect-ratio:1;max-height:56px;display:flex;align-items:center;justify-content:center;border:0;border-radius:12px;background:none;color:#e5e7eb;font:500 14px 'Outfit','Inter',sans-serif;cursor:pointer;transition:.15s}
.cal-day:hover{background:rgba(255,255,255,.08)}
.cal-day.today{box-shadow:inset 0 0 0 1px rgba(75,159,232,.7)}
.cal-day.selected{background:linear-gradient(135deg,#72bde5,#4b9fe8);color:#04121f;font-weight:600}
.cal-day .dot{position:absolute;bottom:6px;width:4px;height:4px;border-radius:50%;background:#ff9a45}
.cal-day.selected .dot{background:#04121f}

@media(max-width:760px){
.bottom-nav{left:0!important;width:calc(100vw - 24px);bottom:calc(10px + env(safe-area-inset-bottom,0px))}
.nav-btn{flex:1;min-width:0;padding:8px 6px}
.chat-card{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
.chat-container{padding-bottom:236px}
.auth-card{padding:26px 20px 18px}
}

/* ================= Settings popup ================= */
.settings-dialog{width:min(720px,94vw);max-height:min(640px,88vh);max-height:min(640px,88dvh);padding:0;border:1px solid rgba(255,255,255,.12);border-radius:26px;background:rgba(12,12,16,.94);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);color:var(--ink);box-shadow:0 40px 120px rgba(0,0,0,.7),0 0 90px rgba(75,159,232,.1);overflow:hidden}
.settings-dialog[open]{display:flex;animation:pop .22s ease}
.settings-dialog::backdrop{background:rgba(3,3,6,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.sd-shell{display:flex;flex-direction:column;width:100%;min-height:0}
.sd-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.08)}
.sd-head h2{margin:0;font:600 21px 'Outfit','Inter',sans-serif;letter-spacing:-.02em}
.sd-head .close{position:static;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.07);color:#c8cbe0;font-size:20px;line-height:1;transition:.2s}
.sd-head .close:hover{background:rgba(255,255,255,.14);color:#fff}
.sd-main{display:flex;flex:1;min-height:0}
.sd-tabs{display:flex;flex-direction:column;gap:2px;width:180px;flex-shrink:0;padding:14px;border-right:1px solid rgba(255,255,255,.08);overflow-y:auto}
.sd-tabs .tab-btn{text-align:left;padding:10px 14px;border-radius:12px;border:0;color:#9a9ca8;font:500 14px 'Outfit','Inter',sans-serif}
.sd-tabs .tab-btn:hover{color:#fff;background:rgba(255,255,255,.05)}
.sd-tabs .tab-btn.active{background:rgba(75,159,232,.16);color:#fff;border-bottom:0}
.sd-body{flex:1;min-width:0;overflow-y:auto;padding:22px 26px 28px}
.sd-body h3{margin:0 0 4px;font:600 18px 'Outfit','Inter',sans-serif}
.sd-hint{margin:0 0 10px;color:#8d90a0;font-size:13px}
.sd-profile{display:flex;align-items:center;gap:14px;padding-bottom:6px}
.sd-profile b{display:block;font:600 17px 'Outfit','Inter',sans-serif}
.sd-profile small{color:#8d90a0;font-size:13px}
.avatar{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#72bde5,#4b9fe8);color:#04121f;font:600 24px 'Outfit','Inter',sans-serif;box-shadow:0 0 30px rgba(75,159,232,.35)}
.sd-field{display:flex;flex-direction:column;gap:6px;margin-top:16px}
.sd-field span{font:500 13px 'Outfit','Inter',sans-serif;color:#c8cbe0}
.sd-field input{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:14px;color:#fff;padding:12px 14px;font:16px 'Inter',sans-serif;outline:0;transition:.2s}
.sd-field input:focus{border-color:rgba(75,159,232,.7);background:rgba(255,255,255,.07)}
.sd-field input[readonly]{color:#8d90a0;cursor:default}
.sd-actions{display:flex;align-items:center;gap:12px;margin:18px 0 8px;flex-wrap:wrap}
.sd-note{color:#7ed6a0;font-size:13px}
.sd-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.sd-row b,.sd-danger b,.plan-card b{display:block;font:500 15px 'Outfit','Inter',sans-serif;color:#fff}
.sd-row small,.sd-danger small,.plan-card small{display:block;margin-top:2px;color:#8d90a0;font-size:12.5px;line-height:1.4}
.settings-dialog .primary,.settings-dialog .secondary,.settings-dialog .danger{border-radius:999px;padding:10px 18px;font:600 13px 'Outfit','Inter',sans-serif;white-space:nowrap;box-shadow:none}
.settings-dialog .primary{background:linear-gradient(135deg,#72bde5,#4b9fe8);color:#04121f;border:0}
.settings-dialog .secondary{background:rgba(255,255,255,.07);color:#fff;border:1px solid rgba(255,255,255,.14)}
.settings-dialog .secondary:hover{border-color:#4b9fe8;transform:none}
.sd-danger{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;padding:16px;border:1px solid rgba(255,100,100,.28);border-radius:18px;background:rgba(255,80,80,.06)}
.settings-dialog .danger{background:rgba(255,90,90,.14);color:#ff8f8f;border:1px solid rgba(255,100,100,.4)}
.plan-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:linear-gradient(135deg,rgba(114,189,229,.1),rgba(75,159,232,.04))}
.plan-card b{font-size:22px;margin-top:2px}
.seg{display:inline-flex;padding:3px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.03);flex-shrink:0}
.seg button{border:0;background:none;color:#9a9ca8;padding:7px 15px;border-radius:999px;font:500 13px 'Outfit','Inter',sans-serif;cursor:pointer;transition:.2s}
.seg button:hover{color:#fff}
.seg button.selected{background:rgba(255,255,255,.14);color:#fff}
.switch{position:relative;width:48px;height:28px;flex-shrink:0}
.switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.switch i{position:absolute;inset:0;border-radius:999px;background:rgba(255,255,255,.16);transition:.2s;pointer-events:none}
.switch i:after{content:'';position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.4);transition:.2s}
.switch input:checked+i{background:linear-gradient(135deg,#72bde5,#4b9fe8)}
.switch input:checked+i:after{transform:translateX(20px)}
.switch input:focus-visible+i{outline:2px solid #72bde5;outline-offset:2px}
@keyframes pop{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes sheet{from{transform:translateY(100%)}to{transform:none}}
/* look of chat text follows the Appearance settings */
.message{font-size:var(--msg-size,15px)}
body[data-font="serif"] .message,body[data-font="serif"] .input-area textarea{font-family:'Newsreader',Georgia,serif}
body[data-font="serif"] .message{font-size:calc(var(--msg-size,15px) + 1.5px)}
body.no-glow #ambient{display:none}
@media(max-width:760px){
.settings-dialog{width:100%;max-width:100%;max-height:88vh;max-height:88dvh;margin:auto 0 0;border-radius:26px 26px 0 0;border-bottom:0}
.settings-dialog[open]{flex-direction:column;animation:sheet .28s cubic-bezier(.2,.8,.2,1)}
.sd-main{flex-direction:column}
.sd-tabs{flex-direction:row;width:auto;padding:10px 14px;border-right:0;border-bottom:1px solid rgba(255,255,255,.08);overflow-x:auto;overflow-y:hidden;gap:6px;flex-shrink:0}
.sd-tabs .tab-btn{white-space:nowrap;padding:8px 14px}
.sd-body{padding:18px 18px calc(26px + env(safe-area-inset-bottom,0px))}
.sd-danger{flex-direction:column;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){.settings-dialog[open]{animation:none}}

/* ================= Composer footer + popup menus ================= */
.card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}
.foot-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:none;color:#9aa0b8;font:300 26px/1 'Outfit','Inter',sans-serif;cursor:pointer;transition:.2s}
.foot-btn:hover{background:rgba(255,255,255,.09);color:#fff}
.model-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 10px 7px 11px;border:0;border-radius:12px;background:rgba(255,255,255,.07);color:#ececf1;font:500 13px 'Outfit','Inter',sans-serif;cursor:pointer;transition:.2s}
.model-pill:hover,.model-pill[aria-expanded="true"]{background:rgba(255,255,255,.13)}
.mp-dot{width:8px;height:8px;border-radius:50%;background:#a78bfa;flex-shrink:0}
.mp-effort{color:#8d90a0}
.mp-chev{width:14px;height:14px;fill:none;stroke:#8d90a0;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.menu{position:fixed;z-index:300;width:min(300px,calc(100vw - 24px));max-height:min(70vh,520px);overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:8px;background:rgba(22,22,27,.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.1);border-radius:18px;box-shadow:0 22px 70px rgba(0,0,0,.7),0 0 60px rgba(75,159,232,.07)}
.menu[hidden]{display:none}
.menu:not([hidden]){animation:menuIn .14s ease}
#effortMenu{width:min(290px,calc(100vw - 24px))}
#plusMenu{width:min(230px,calc(100vw - 24px))}
.mi{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border:0;border-radius:12px;background:none;color:#ececf1;font:500 14px 'Outfit','Inter',sans-serif;text-align:left;cursor:pointer;transition:background .12s}
.mi:hover,.mi:focus-visible{background:rgba(255,255,255,.08);outline:0}
.mi .dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.mi .ic{width:20px;text-align:center;flex-shrink:0}
.mi em{margin-left:auto;font-style:normal;color:#8d90a0}
.mi .cv{width:16px;height:16px;fill:none;stroke:#8d90a0;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.mi .chk{width:18px;height:18px;margin-left:auto;fill:none;stroke:#4b9fe8;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:0;flex-shrink:0}
.mi[aria-checked="true"] .chk{opacity:1}
.tag{padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.09);color:#a9acbb;font-size:11px;font-weight:500}
.msep{height:1px;background:rgba(255,255,255,.08);margin:6px 4px}
.mhint{margin:4px 12px 8px;color:#8d90a0;font-size:13px;line-height:1.45}
.mback{display:none;align-items:center;padding:8px 12px;border:0;border-radius:10px;background:none;color:#8d90a0;font:500 13px 'Outfit','Inter',sans-serif;cursor:pointer}
.mback:hover{color:#fff}
.menu.drill .mback{display:flex}
@keyframes menuIn{from{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.menu:not([hidden]){animation:none}}

/* ================= Sidebar (chat-app style) ================= */
.sidebar{width:264px;background:#0c0c0f;border-right:1px solid rgba(255,255,255,.06);padding:12px 10px;gap:10px;overflow:hidden;box-shadow:none}
.sb-top{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 2px}
.sb-brand{display:flex;align-items:center;gap:9px;font:600 15px 'Outfit','Inter',sans-serif;color:#f1f1f5;letter-spacing:-.01em}
.sb-mark{width:16px;height:16px;border-radius:5px;background:linear-gradient(135deg,#72bde5,#4b9fe8);box-shadow:0 0 14px rgba(75,159,232,.45)}
.sb-toggle{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:0;border-radius:9px;background:none;color:#8d90a0;cursor:pointer;transition:.15s}
.sb-toggle:hover{background:rgba(255,255,255,.07);color:#fff}
.sb-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sb-new{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.04);color:#f1f1f5;font:500 14px 'Outfit','Inter',sans-serif;cursor:pointer;transition:.15s}
.sb-new:hover{background:rgba(255,255,255,.08)}
.sb-new svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.sb-search{display:flex;align-items:center;gap:9px;padding:8px 11px;border-radius:12px;background:rgba(255,255,255,.035);color:#6c7088;cursor:text}
.sb-search:focus-within{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(75,159,232,.4)}
.sb-search svg{width:16px;height:16px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}
.sb-search input{flex:1;min-width:0;border:0;outline:0;background:none;color:#f1f1f5;font:14px 'Inter',sans-serif;padding:0}
.sb-search input::placeholder{color:#6c7088}
.sb-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:2px 2px 12px;margin:0 -4px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}
.sb-group h4{margin:0 0 4px;padding:6px 10px 0;font:500 12px 'Outfit','Inter',sans-serif;color:#6c7088;letter-spacing:.01em}
.sb-empty{margin:14px 10px;color:#6c7088;font:400 13px 'Inter',sans-serif;line-height:1.5}
.chat-item{display:flex;align-items:center;gap:6px;padding:8px 8px 8px 10px;margin:1px 0;border-radius:10px;background:none;color:#c9ccd9;font:400 14px 'Inter',sans-serif;cursor:pointer;transition:background .12s,color .12s}
.chat-item:hover{background:rgba(255,255,255,.06);color:#fff}
.chat-item.active{background:rgba(255,255,255,.1);color:#fff}
.chat-item .title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-del{width:24px;height:24px;flex-shrink:0;border:0;border-radius:7px;background:none;color:#8d90a0;font-size:17px;line-height:1;cursor:pointer;opacity:0;transition:.12s}
.chat-item:hover .chat-del,.chat-item.active .chat-del,.chat-del:focus-visible{opacity:1}
.chat-del:hover{background:rgba(255,255,255,.1);color:#ff8f8f}
@media(hover:none){.chat-del{opacity:.7}}
.sidebar-open{background:rgba(12,12,15,.92)}

/* ================= Attachments ================= */
.attach-tray{display:flex;flex-wrap:wrap;gap:8px}
.attach-tray[hidden]{display:none}
.chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:6px 6px 6px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);color:#e8e8ee;font:500 13px 'Outfit','Inter',sans-serif}
.chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}
.chip small{color:#8d90a0;font-size:11.5px;white-space:nowrap}
.chip button{width:22px;height:22px;border:0;border-radius:50%;background:none;color:#8d90a0;font-size:16px;line-height:1;cursor:pointer}
.chip button:hover{background:rgba(255,255,255,.12);color:#fff}
.message{white-space:pre-wrap}

/* sidebar brand: the real Daily Life logo */
.sb-logo{width:26px;height:26px;flex-shrink:0;filter:drop-shadow(0 0 10px rgba(75,159,232,.35))}

/* locked models */
.mi.locked{color:#8d90a0}
.mi.locked .dot{opacity:.45}
.mi .need{margin-left:auto;font-style:normal;font-size:11.5px;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.08);color:#a9acbb}
.mi .lk{width:14px;height:14px;flex-shrink:0;fill:none;stroke:#8d90a0;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mi.locked .chk{display:none}

.auth-back{border:0;background:none;color:#8d90a0;font:500 13px 'Outfit','Inter',sans-serif;cursor:pointer;padding:4px}
.auth-back:hover{color:#fff}
.auth-back[hidden]{display:none}
#authCode{letter-spacing:.42em;text-align:center;font-size:22px!important;font-weight:600}

/* ================= Clock (top-right corner) ================= */
.clock{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));right:16px;z-index:600;padding:5px 11px;border-radius:999px;background:rgba(15,15,18,.7);border:1px solid rgba(255,255,255,.08);color:#d7d9e4;font:500 13px 'Outfit','Inter',sans-serif;letter-spacing:.01em;pointer-events:none;font-variant-numeric:tabular-nums}
.clock:empty{display:none}

/* ================= Welcome screen ================= */
.auth{background:#141414;align-items:stretch;justify-content:center;padding:0;overflow-y:auto}
.welcome{width:min(420px,100%);margin:auto;padding:86px 26px calc(34px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.welcome-logo .logo{width:64px;height:64px;margin:0 auto 26px;filter:drop-shadow(0 0 22px rgba(75,159,232,.35))}
.welcome-title{margin:0;font:600 40px/1.1 'Newsreader',Georgia,serif;letter-spacing:-.01em;color:#f5f5f7}
.welcome-sum{margin:4px 0 0;color:#b5b8c4;font:400 16px/1.55 'Outfit','Inter',sans-serif}
.welcome-points{list-style:none;margin:6px 0 10px;padding:0;display:flex;flex-direction:column;gap:9px;color:#8d90a0;font:400 14px/1.4 'Outfit','Inter',sans-serif}
.welcome-points li{position:relative;padding-left:18px}
.welcome-points li:before{content:'';position:absolute;left:2px;top:7px;width:6px;height:6px;border-radius:50%;background:#4b9fe8;box-shadow:0 0 10px rgba(75,159,232,.6)}
.welcome .auth-google{width:100%;margin-top:6px;padding:15px 16px;border-radius:999px;gap:12px;font:500 16px 'Outfit','Inter',sans-serif;box-shadow:none}
.welcome .auth-google svg{width:20px;height:20px}
.welcome .auth-or{width:100%;color:#8d90a0;font:500 12px 'Inter',sans-serif;letter-spacing:.08em}
.welcome .auth-or:before,.welcome .auth-or:after{background:rgba(255,255,255,.14)}
.welcome #authForm{width:100%;gap:12px}
.welcome #authEmail{border-radius:999px;padding:16px 22px;background:#1f1f1f;border:1px solid rgba(255,255,255,.12);text-align:center;font:16px 'Inter',sans-serif}
.welcome #authEmail::placeholder{color:#8d90a0}
.welcome #authCode{border-radius:999px;padding:16px 22px;background:#1f1f1f;border:1px solid rgba(255,255,255,.12);letter-spacing:.42em;text-align:center;font-size:22px!important;font-weight:600}
.welcome .auth-submit{width:100%;border-radius:999px;background:#fff;color:#111;padding:15px 16px;font:600 16px 'Outfit','Inter',sans-serif;box-shadow:none}
.welcome .auth-submit:hover{filter:brightness(.92)}
.welcome .auth-error{text-align:center}
.welcome-legal{margin:14px 0 0;color:#72758a;font:400 12.5px/1.55 'Inter',sans-serif}
.welcome .auth-guest{margin-top:2px;color:#9a9dab;font:500 14px 'Outfit','Inter',sans-serif}

/* AI replies sit in a bubble on the left */
.message.companion{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:#ececf1;padding:12px 16px;border-radius:18px 18px 18px 6px;max-width:min(680px,88%);align-self:flex-start}

/* ================= Chat / Work switch ================= */
.mode-switch{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);z-index:250;display:flex;gap:2px;padding:4px;border-radius:999px;background:rgba(15,15,18,.8);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
body:not(.sidebar-closed) .mode-switch{left:calc(50% + 132px)}
.mode-btn{border:0;background:none;color:#9a9ca8;padding:7px 18px;border-radius:999px;font:500 13px 'Outfit','Inter',sans-serif;cursor:pointer;transition:.2s}
.mode-btn:hover{color:#fff}
.mode-btn.active{background:rgba(255,255,255,.14);color:#fff}
@media(max-width:760px){.mode-switch,body:not(.sidebar-closed) .mode-switch{left:50%}}
/* ================= Work / connectors ================= */
.connector{display:flex;align-items:center;gap:14px}
.connector-icon{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:#f5c542;font-size:16px;flex-shrink:0}
.connector-text{flex:1;min-width:0;display:flex;flex-direction:column}
.connector-text b{font:600 15px 'Outfit','Inter',sans-serif;color:#fff}
.connector-text small{color:#8d90a0;font-size:12.5px}
.connector button{flex-shrink:0}
.connector button[hidden]{display:none}
.file-list{display:flex;flex-direction:column;gap:6px}
.file-row{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 14px;border:0;border-radius:12px;background:rgba(255,255,255,.05);color:#e8e8ee;font:500 14px 'Outfit','Inter',sans-serif;text-align:left;cursor:pointer;transition:background .15s}
.file-row:hover{background:rgba(255,255,255,.1)}
.file-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.file-row small{color:#8d90a0;flex-shrink:0}
#work .tasks-card+.tasks-card,#work .tasks-card+.advice-card{margin-top:0}

/* formatted AI replies */
.message p{margin:0 0 8px}
.message p:last-child{margin-bottom:0}
.message ul,.message ol{margin:4px 0 8px;padding-left:22px}
.message li{margin:2px 0}
.message .md-h{margin:6px 0 4px;font-size:1.05em}
.message strong{font-weight:600;color:#fff}
.message code{background:rgba(255,255,255,.1);padding:1px 6px;border-radius:6px;font-size:.92em}
.message a{color:#7fc4ff;text-decoration:underline}
.message .md-img{display:block;max-width:100%;height:auto;border-radius:12px;margin:8px 0}

/* proper icons for voice input and read aloud */
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:none;color:#9aa0b8;cursor:pointer;transition:.2s;font-size:0}
.icon-btn:hover{background:rgba(255,255,255,.09);color:#fff}
.icon-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.message button.icon-btn{float:none;margin:6px 0 0 0;width:30px;height:30px;color:#8d90a0;display:inline-flex}
.message button.icon-btn svg{width:17px;height:17px}
.message.companion{display:block}
.input-area button#voice.icon-btn{font-size:0;padding:0;width:36px;height:36px}

/* reply style choice on the empty chat screen */
.mode-pick{display:none;gap:10px;margin:18px auto 0;flex-wrap:wrap;justify-content:center;width:100%;max-width:560px}
#chat:not(.has-messages) .mode-pick{display:flex}
.mode-chip{flex:1 1 240px;max-width:270px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#e8e8ee;text-align:left;cursor:pointer;transition:.2s;font-family:'Outfit','Inter',sans-serif}
.mode-chip b{font-size:15px;font-weight:600;color:#fff}
.mode-chip small{font-size:12.5px;color:#8d90a0;line-height:1.4}
.mode-chip:hover{border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.07)}
.mode-chip.selected{border-color:rgba(75,159,232,.6);background:rgba(75,159,232,.1);box-shadow:0 0 24px rgba(75,159,232,.12)}

/* ================= Specialised modes in the sidebar ================= */
.sb-modes{display:flex;flex-direction:column;gap:2px;padding:0 2px}
.sb-modes h4{margin:6px 10px 4px;font:500 12px 'Outfit','Inter',sans-serif;color:#6c7088}
.sb-mode{display:flex;align-items:center;gap:11px;width:100%;padding:9px 10px;border:0;border-radius:10px;background:none;color:#c9ccd9;font:500 14px 'Outfit','Inter',sans-serif;text-align:left;cursor:pointer;transition:background .12s,color .12s}
.sb-mode svg{width:17px;height:17px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.sb-mode:hover{background:rgba(255,255,255,.06);color:#fff}
.sb-mode.selected{background:rgba(75,159,232,.16);color:#fff;box-shadow:inset 0 0 0 1px rgba(75,159,232,.35)}
/* code blocks in replies */
.message .md-pre{margin:8px 0;padding:12px 14px;border-radius:12px;background:#0b0b0e;border:1px solid rgba(255,255,255,.08);overflow-x:auto;white-space:pre}
.message .md-pre code{background:none;padding:0;border-radius:0;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#e6e6ef;white-space:pre}

/* code blocks with language label and copy button */
.message .md-block{margin:8px 0;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#0b0b0e}
.message .md-bar{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;background:#18181d;color:#8d90a0;font:500 12px 'Outfit','Inter',sans-serif}
.message .md-copy{border:0;background:none;color:#9ecbff;font:500 12px 'Outfit','Inter',sans-serif;cursor:pointer;padding:2px 6px;border-radius:6px}
.message .md-copy:hover{background:rgba(255,255,255,.08)}
.message .md-block .md-pre{margin:0;border:0;border-radius:0}
