/* Sabz Hoosh 10.3 — premium glass / galaxy layer */
:root{
  --ios-blue:#72b7ff;
  --ios-blue-2:#3d8cff;
  --ios-cyan:#74e6ff;
  --ios-violet:#9f86ff;
  --glass-hi:rgba(255,255,255,.12);
  --glass-lo:rgba(255,255,255,.035);
  --glass-border:rgba(255,255,255,.11);
  --glass-border-hi:rgba(255,255,255,.18);
  --ios-shadow:0 30px 100px rgba(0,0,0,.34);
}
html,body{background:#05070d}
body{min-height:100%;background:
 radial-gradient(65vw 55vw at 8% 0%,rgba(61,140,255,.13),transparent 62%),
 radial-gradient(45vw 42vw at 90% 16%,rgba(159,134,255,.11),transparent 60%),
 radial-gradient(48vw 44vw at 52% 100%,rgba(67,214,177,.08),transparent 62%),#05070d!important;}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:linear-gradient(180deg,rgba(255,255,255,.018),transparent 22%,rgba(32,101,174,.018));mix-blend-mode:screen}
.glass{background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.026) 48%,rgba(85,125,184,.03));border:1px solid var(--glass-border);box-shadow:var(--ios-shadow),inset 0 1px 0 rgba(255,255,255,.05);backdrop-filter:blur(34px) saturate(165%);-webkit-backdrop-filter:blur(34px) saturate(165%)}
.shell{gap:14px;padding:10px}
.sidebar,.main{border-radius:38px}
.sidebar{background:linear-gradient(155deg,rgba(18,24,36,.72),rgba(7,10,17,.58));border-color:rgba(255,255,255,.095);box-shadow:0 32px 100px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.055)}
.main{background:linear-gradient(155deg,rgba(14,19,29,.72),rgba(7,10,16,.60));border-color:rgba(255,255,255,.11)}
.main::before{background:radial-gradient(55vw 28vw at 55% -2%,rgba(114,183,255,.08),transparent 68%),linear-gradient(150deg,rgba(255,255,255,.055),transparent 20%,transparent 70%,rgba(114,183,255,.025))}
.brand img,.top-logo,.hero-logo{border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 35px rgba(47,122,216,.16),0 0 0 5px rgba(255,255,255,.022)}
.newchat{background:linear-gradient(135deg,rgba(114,183,255,.22),rgba(88,125,255,.12));border-color:rgba(114,183,255,.24);box-shadow:0 14px 34px rgba(67,141,255,.13)}
.topbar{height:78px;border-bottom-color:rgba(255,255,255,.08)}
.status-dot{background:var(--ios-blue);box-shadow:0 0 0 7px rgba(114,183,255,.10),0 0 18px rgba(114,183,255,.40)}
.top-title{font-size:14px;letter-spacing:-.02em}.top-sub{font-size:10px}
.iconbtn,.langbtn,.pill,.tool,.composer-action,.mini,.btn,.mode{border-color:rgba(255,255,255,.09);background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.028));box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.iconbtn:hover,.langbtn:hover,.pill:hover,.tool:hover,.mode:hover,.mini:hover,.btn:hover{border-color:rgba(255,255,255,.16);background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.035));box-shadow:0 10px 24px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.04)}
.hero{padding-top:70px}
.hero h1{font-size:clamp(52px,7vw,92px);text-shadow:0 0 40px rgba(114,183,255,.08)}
.hero h1 span{background:linear-gradient(135deg,#d4e8ff,#8cc9ff 42%,#8b79ff 90%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{color:rgba(222,232,245,.68);max-width:700px}
.hero-note{color:rgba(164,186,217,.64)}
.messages{gap:20px}
.msg .avatar{width:40px;height:40px;border-radius:15px;background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.10);box-shadow:0 10px 26px rgba(0,0,0,.14)}
.assistant .avatar{color:#b9d9ff;background:linear-gradient(145deg,rgba(114,183,255,.22),rgba(139,121,255,.12))}
.bubble{border-radius:26px;background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.026));border-color:rgba(255,255,255,.09);box-shadow:0 18px 60px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.035)}
.user .bubble{background:linear-gradient(145deg,rgba(76,156,255,.17),rgba(107,95,255,.08))}
.composer-wrap{padding:10px 16px 16px;background:linear-gradient(180deg,rgba(4,7,12,0),rgba(4,7,12,.24))}
.composer{width:min(980px,100%);margin:0 auto}
.toolrow{padding:0 2px 9px}
.composer-box{border-radius:30px!important;min-height:64px!important;background:linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.035))!important;border-color:rgba(255,255,255,.12)!important;box-shadow:0 24px 80px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.045)!important}
.composer-box:focus-within{box-shadow:0 28px 95px rgba(0,0,0,.30),0 0 0 1px rgba(114,183,255,.10) inset!important}
.composer-box textarea{font-size:14px;color:#f4f8ff;letter-spacing:-.012em}
.composer-box textarea::placeholder{color:rgba(182,198,220,.56)}
.add-action,.mic,.stop,.send{width:46px;height:46px;border-radius:16px!important}
.send{background:linear-gradient(145deg,#8ac8ff,#4e8fff)!important;color:#06111f!important;box-shadow:0 12px 34px rgba(67,140,255,.26)!important}
.mic{background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.03))!important}
.send:hover{filter:brightness(1.05);transform:translateY(-1px)}
.attach{border-color:rgba(114,183,255,.16);background:rgba(114,183,255,.07)}
.modal-backdrop{background:rgba(1,4,10,.50)!important;backdrop-filter:blur(20px)}
.modal{border-radius:38px!important;background:linear-gradient(155deg,rgba(16,22,33,.82),rgba(8,12,20,.72))!important;border-color:rgba(255,255,255,.11)!important;box-shadow:0 40px 120px rgba(0,0,0,.45)!important}
.toast{background:linear-gradient(145deg,rgba(18,27,42,.88),rgba(7,12,20,.88))!important;border-color:rgba(114,183,255,.18)!important;box-shadow:0 20px 55px rgba(0,0,0,.30)!important}
.lang-pop{background:rgba(12,18,29,.88)!important;border-color:rgba(255,255,255,.11)!important;box-shadow:0 24px 80px rgba(0,0,0,.34)!important;backdrop-filter:blur(26px)}
/* AI waiting state: intentionally blue and quiet, similar to native-system activity feedback. */
.ai-waiting{display:inline-flex;align-items:center;gap:10px;min-height:34px;padding:4px 0;color:rgba(220,233,248,.82);font-size:11px;letter-spacing:-.01em}
.ai-waiting .waiting-text{white-space:nowrap}
.ai-dots{display:inline-flex;align-items:center;gap:5px}
.ai-dots i{display:block;width:7px;height:7px;border-radius:50%;background:#6bb3ff;box-shadow:0 0 14px rgba(107,179,255,.62);opacity:.28;transform:translateY(0) scale(.82);animation:aiDots 1.18s ease-in-out infinite}
.ai-dots i:nth-child(2){animation-delay:.15s}.ai-dots i:nth-child(3){animation-delay:.30s}
@keyframes aiDots{0%,78%,100%{opacity:.28;transform:translateY(0) scale(.82)}38%{opacity:1;transform:translateY(-4px) scale(1.08)}}
body.ai-thinking .status-dot{background:#6bb3ff;box-shadow:0 0 0 7px rgba(107,179,255,.10),0 0 22px rgba(107,179,255,.50)}
body.ai-thinking .send{display:none!important}
body.ai-thinking .stop{display:grid!important;place-items:center;background:rgba(107,179,255,.10);border-color:rgba(107,179,255,.22);color:#b6d9ff}
@media(max-width:980px){.shell{padding:7px}.sidebar{border-radius:30px}.main{border-radius:30px}.composer-wrap{padding-inline:10px}.hero{padding-top:42px}}
@media(max-width:640px){.main,.sidebar{border-radius:26px}.composer-box{border-radius:26px!important}.hero{padding-top:24px}.hero h1{font-size:48px}.bubble{border-radius:22px}.ai-waiting{font-size:10px}}


/* 10.4 adaptive device profile layer */
:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}
body{padding-top:var(--safe-top);padding-right:var(--safe-right);padding-left:var(--safe-left)}
body.device-phone .shell{padding:6px;gap:8px}
body.device-phone .sidebar{border-radius:28px}
body.device-phone .main{border-radius:28px}
body.device-phone .topbar{height:64px;padding-inline:12px}
body.device-phone .top-title{font-size:13px}
body.device-phone .messages{gap:14px;padding-inline:8px}
body.device-phone .msg .avatar{width:34px;height:34px;border-radius:12px}
body.device-phone .bubble{max-width:min(88vw,720px);border-radius:22px;padding:11px 13px}
body.device-phone .composer-wrap{padding:7px 7px calc(8px + var(--safe-bottom))}
body.device-phone .composer{width:100%}
body.device-phone .composer-box{min-height:58px!important;border-radius:24px!important}
body.device-phone .composer-box textarea{font-size:15px}
body.device-phone .add-action,body.device-phone .mic,body.device-phone .stop,body.device-phone .send{width:44px;height:44px;border-radius:15px!important}
body.device-phone .sidebar{max-width:min(92vw,420px)}
body.device-phone.keyboard-open .composer-wrap{padding-bottom:4px}
body.device-phone.keyboard-open .messages{padding-bottom:4px}
body.device-phone.orientation-landscape .topbar{height:56px}
body.device-phone.orientation-landscape .hero{padding-top:18px}
body.device-phone.orientation-landscape .hero h1{font-size:38px}
body.device-phone.compact-phone .bubble{max-width:92vw}
body.device-tablet .shell{padding:8px;gap:10px}
body.device-tablet .main{border-radius:32px}
body.device-tablet .sidebar{border-radius:32px}
body.device-tablet .messages{padding-inline:14px}
body.device-tablet .composer{width:min(920px,100%)}
body.device-desktop .composer{width:min(1040px,92vw)}
body.wide-desktop .main{border-radius:42px}
[data-reduced-motion="1"] *,[data-reduced-motion="1"] *::before,[data-reduced-motion="1"] *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
@media (hover:none){.iconbtn:hover,.langbtn:hover,.pill:hover,.tool:hover,.mode:hover,.mini:hover,.btn:hover{transform:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}}
@media (min-width: 1600px){body.device-desktop .messages{padding-inline:clamp(32px,6vw,120px)}body.device-desktop .hero h1{font-size:clamp(72px,6vw,104px)}}
