/* LinSumi V4 — viewport-native layout (no .environment / .device phone frame).
   Uses the original Liquid Glass components, palette, and 35px conversation tabs. */
html,body{margin:0;width:100%;height:100%;min-width:300px;overflow:hidden}
body{min-height:100dvh;background:radial-gradient(ellipse 44% 36% at 12% 0%,#d6e7ff8c,transparent),radial-gradient(ellipse 36% 50% at 93% 90%,#d9e3ffaa,transparent),linear-gradient(145deg,#f9fbff,#eef4ff)}
.app{position:relative;isolation:isolate;display:flex;flex-direction:column;width:100%;height:100dvh;min-height:0;min-width:0;overflow:hidden;background:transparent}
.page,.page.is-current,.page.is-leaving{width:100%;height:100%;max-height:100%;min-width:0;min-height:0;background:transparent;overflow:hidden}
.page-scroll,.messages{overscroll-behavior:contain;scrollbar-width:thin}
.app-topbar{width:100%;max-width:1260px;margin:0 auto}
.bottom-bar{position:absolute;left:50%;bottom:calc(12px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:min(336px,calc(100% - 32px));z-index:12}
.desktop-caption{display:none!important}
#page-desktop .desktop-content{width:100%;max-width:1240px;margin:0 auto;padding:14px 22px calc(110px + env(safe-area-inset-bottom,0px));}
#page-desktop .desktop-card{width:100%;aspect-ratio:16/9}
#page-desktop .actions-card{margin-top:18px}
#page-chat .conversation-strip,#page-chat .chat-layout{width:100%;max-width:1260px;margin-left:auto;margin-right:auto}
#page-chat .chat-layout{min-height:0;flex:1 1 auto;padding-bottom:calc(86px + env(safe-area-inset-bottom,0px));border-left:1px solid #e9eef8;border-right:1px solid #e9eef8;background:#ffffff95}
#page-chat .conversation-strip{border-left:1px solid #e9eef8;border-right:1px solid #e9eef8;background:#f9fbff}
#page-chat .messages{min-height:0;flex:1 1 auto;padding-top:17px}
#page-chat .composer{margin-bottom:11px}
#page-settings .settings-content,#page-logs .settings-content{width:100%;max-width:1260px;margin:0 auto;padding:12px 22px calc(115px + env(safe-area-inset-bottom,0px))}
#page-settings .settings-title{margin-top:5px}
.login-app{align-items:center;justify-content:center}
.login-app .login-shell{box-sizing:border-box;min-height:0;width:100%;height:100%;padding:28px 24px;display:flex;align-items:center;justify-content:center}
.login-app .login-brand{margin-bottom:30px}
.login-app .login-panel{max-width:400px;padding:34px 30px;background:rgba(255,255,255,.88)}
.login-app .login-note{margin-top:24px}
body[data-theme="dark"]{background:radial-gradient(ellipse at 90% 0%,#304c6f66,transparent 58%),linear-gradient(155deg,#151f34,#0f192b)}
body[data-theme="dark"] #page-chat .chat-layout,body[data-theme="dark"] #page-chat .conversation-strip{background:#19283ccf;border-color:#354761}
@media(min-width:960px){
 #page-desktop .desktop-content{display:grid;grid-template-columns:minmax(0,1.58fr) minmax(290px,.95fr);align-items:start;gap:20px;padding-top:24px}
 #page-desktop .desktop-card{grid-column:1;grid-row:1;aspect-ratio:16/10}
 #page-desktop .actions-card{grid-column:2;grid-row:1;margin-top:0;min-width:0}
 #page-desktop .desktop-footnote{grid-column:1 / -1}
 #page-settings .settings-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 #page-settings .setting-card{height:fit-content}
 #page-chat .messages{padding-left:32px;padding-right:32px}
 #page-chat .composer{margin-left:32px;margin-right:32px}
 #page-chat .conversation-tab{flex-basis:154px;width:154px}
}
@media(min-width:560px) and (max-width:959px){
 #page-desktop .desktop-content{max-width:1260px}
 #page-chat .conversation-strip,#page-chat .chat-layout{max-width:1260px}
 #page-settings .settings-content{max-width:1260px}
}
@media(max-width:559px){
 .app,.page,.page.is-current{height:100dvh;min-height:0}
 .app-topbar{width:100%;max-width:none}
 #page-desktop .desktop-content{padding:7px 14px calc(112px + env(safe-area-inset-bottom,0px))}
 #page-desktop .desktop-card{aspect-ratio:1.65;border-radius:19px}
 #page-desktop .actions-card{margin-top:15px}
 #page-chat .conversation-strip,#page-chat .chat-layout{max-width:none;border-left:0;border-right:0}
 #page-chat .conversation-strip{background:transparent}
 #page-chat .messages{padding-left:14px;padding-right:14px}
 #page-chat .composer{margin-left:11px;margin-right:11px}
 /* iOS Safari auto-zooms focused inputs smaller than 16px; keep chat viewport at 1x. */
 #page-chat .composer textarea{font-size:16px}
 #page-settings .settings-content,#page-logs .settings-content{padding:7px 18px calc(112px + env(safe-area-inset-bottom,0px))}
 .login-app .login-shell{padding:16px 20px calc(16px + env(safe-area-inset-bottom,0px))}
 .login-app .login-panel{max-width:400px;padding:29px 24px}
 .login-app .login-brand{margin-bottom:27px}
}
@media(max-height:610px){
 .login-app{overflow-y:auto;align-items:flex-start}
 .login-app .login-shell{height:auto;min-height:100%;justify-content:flex-start;padding-top:25px;padding-bottom:25px}
 .login-app .login-brand{margin-bottom:20px}
}
@media(prefers-reduced-motion:reduce){.page{animation:none!important}}
