@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Bengali:wght@400;500;600;700&family=Noto+Serif+Bengali:wght@600;700;800&display=swap');
/* Reference placement and type families, with the studio's own green palette. */
:root{--sidebar-width:320px;--text-body:1rem;--leading-body:1.6;--text-control:1rem;--text-button:.9375rem;--font:'Noto Sans Bengali','DM Sans','Hind Siliguri',sans-serif;--heading:'Noto Serif Bengali',Georgia,'Hind Siliguri',serif}
body{background:var(--paper);color:var(--ink)}
.brand{font-family:var(--font);font-weight:800}
.studio-help-launcher{position:fixed;right:20px;bottom:20px;z-index:65;display:flex;align-items:center;gap:9px;min-height:46px;padding:11px 18px;border-radius:999px;background:var(--green);color:#fff;box-shadow:0 5px 20px #18382b33;font-size:.875rem;font-weight:700}.studio-help-launcher:hover{color:#fff;background:#143f34}.studio-help-launcher>span:first-child{border:1.5px solid currentColor;border-radius:50%;width:20px;height:20px;line-height:19px;text-align:center}
@media(max-width:640px){.studio-help-launcher{right:16px;bottom:max(16px,env(safe-area-inset-bottom));width:48px;height:48px;justify-content:center;padding:12px}.studio-help-launcher>span:last-child{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}}
.public-header{max-width:1152px;min-height:64px;height:auto;padding:8px 28px;gap:18px}
.public-header .brand{font-size:1.25rem;letter-spacing:-.025em;white-space:nowrap}
.public-header .brand small{display:none}.public-header .brand img{width:30px;height:30px}
.public-cta-short{display:none}
.public-header .public-nav{font-size:.9375rem;gap:22px}.public-header .button{border-radius:999px;min-height:40px;padding:8px 16px}
@media(max-width:640px){.public-header{padding:10px 16px;gap:10px;flex-wrap:wrap}.public-header>.row{margin-inline-start:auto;gap:8px}.public-header .brand{font-size:1rem;gap:7px}.public-header>.row .button{font-size:.8125rem;min-height:40px;padding:7px 10px}.public-header>.mobile-menu{min-width:40px;min-height:40px;padding:5px}.public-header .language-picker summary{min-height:40px;padding:7px;font-size:.8125rem}}
@media(max-width:640px){.public-cta-full{display:none}.public-cta-short{display:inline}.public-header>.row .button{min-width:44px}.public-header .brand{font-size:1.0625rem}.public-header{flex-wrap:nowrap}}
@media(max-width:640px){.public-header{display:flex}.public-header>.row{width:auto;flex:0 0 auto;justify-content:flex-end}.public-header .brand{min-width:0}.public-header>.mobile-menu{flex-shrink:0}}
@media(max-width:360px){.public-header{padding-inline:10px;gap:7px}.public-header .brand{font-size:.9375rem;gap:5px}.public-header .brand img{width:26px;height:26px}}
.studio-icon{display:inline-block;vertical-align:-.2em;flex-shrink:0}.sidebar-history-link .studio-icon{width:14px;height:14px}.quota-card .studio-icon{width:15px;height:15px}.sidebar-secondary>form>button>span{display:inline-flex;align-items:center;gap:10px}
.workspace-frame{margin-left:var(--sidebar-width)}
.workspace-main{padding:32px;max-width:1180px;margin-inline:auto;min-width:0}
.reference-sidebar{width:var(--sidebar-width);padding:12px;display:flex;gap:0;height:100dvh;overflow:hidden;background:#fffefb;border-right:1px solid var(--line)}
.reference-sidebar .brand{padding:0 4px;margin:0 0 10px;gap:10px;font-size:1.2rem;min-height:30px}
.reference-sidebar .brand img{width:28px;height:28px}.reference-sidebar .brand small{display:none}
.sidebar-account{display:flex;align-items:center;gap:11px;padding:10px 12px;background:#edf3e9;border-radius:14px;margin-bottom:3px;color:var(--ink)}
.sidebar-account>span:nth-child(2){display:grid;flex:1;min-width:0}.sidebar-account strong{font-size:.9375rem;line-height:1.3;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-account small{font-size:.8125rem}.sidebar-account>.avatar{flex-shrink:0;width:36px;height:36px}
.reference-sidebar .nav-item{display:flex;align-items:center;gap:12px;min-height:38px;margin:0;padding:7px 12px;border-radius:24px;font-size:.9375rem;color:var(--ink)}
.reference-sidebar .nav-item strong{font-weight:600}.reference-sidebar .nav-end{margin-left:auto}.reference-sidebar .nav-new{justify-content:space-between;border:1px solid #b7cbaa;background:#edf5e6;color:var(--green)}
.sidebar-folder-heading{display:flex;align-items:center;min-height:38px;padding-left:12px}.sidebar-folder-heading>a{display:flex;gap:12px;flex:1;align-items:center;font-size:.9375rem}.sidebar-folder-heading .icon-button{min-height:34px;min-width:34px}
.sidebar-history-area{display:flex;flex-direction:column;min-height:90px;flex:1;padding:7px 0}.sidebar-history-area input[type=search]{min-height:36px;padding:7px 12px;border:1px solid var(--line);background:#f1f5ed;border-radius:8px;font-size:.875rem;width:100%;margin-bottom:8px}
.sidebar-history-scroll{overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#c9d5c0 transparent}.sidebar-history-link,.sidebar-folder [data-sidebar-item]{display:block;padding:7px 16px 7px 24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);font-size:.875rem;border-radius:7px;line-height:1.5}.sidebar-history-link:hover,.sidebar-history-link.active{background:#eaf2e4}.sidebar-history-link[hidden],.sidebar-folder [hidden]{display:none}
.sidebar-section-label{font-size:.75rem;letter-spacing:.035em;margin:9px 8px 3px}.sidebar-empty{font-size:.8125rem;padding:8px 12px;color:var(--muted)}
.sidebar-folder{border:0;background:transparent;padding:0;margin:0}.sidebar-folder summary{padding:6px 10px;font-size:.875rem;cursor:pointer}.sidebar-folder summary span{padding:0 5px}.sidebar-folder summary small{font-size:.75rem}.sidebar-folder-actions{display:flex;justify-content:space-between;align-items:center;padding:0 12px 0 25px;font-size:.8125rem}.sidebar-folder-actions button{min-height:28px!important;padding:2px 8px!important;border:0;background:transparent}
.sidebar-bottom{flex-shrink:0}.reference-sidebar .quota-card{margin:0 0 7px;padding:10px 12px;border-radius:9px;background:#edf3e7;border:0}.reference-sidebar .quota-card .row{font-size:.8125rem;gap:6px}.reference-sidebar .quota-card strong{font-family:var(--font);font-size:.8125rem;line-height:1.5;letter-spacing:0;margin:0;font-weight:500}.reference-sidebar .quota-card .meter{margin:7px 0}.reference-sidebar .quota-card a.button{display:flex;justify-content:center;min-height:29px;padding:3px 10px;font-size:.8125rem;margin-top:5px;border-radius:9px}.reference-sidebar .quota-card a.button-primary{color:#fff}.reference-sidebar .quota-card a.button-secondary{background:#fffefb;color:var(--ink)}
.sidebar-secondary>a,.sidebar-secondary>form>button,.sidebar-language{display:flex;align-items:center;gap:12px;padding:7px 12px;font-size:.875rem;color:var(--ink);min-height:35px}.sidebar-secondary>a:hover{background:#edf3e7;border-radius:8px}.sidebar-secondary>form{margin:0}.sidebar-secondary>form>button{width:100%;background:none;border:0;justify-content:space-between;font-size:.875rem}.sidebar-secondary small{font-size:.75rem;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-language .language-picker summary{padding:0;font-size:.875rem;border:0;background:none;min-height:0}.sidebar-language .language-picker nav{bottom:100%;top:auto;z-index:80}
.studio-dialog{width:min(640px,calc(100vw - 32px));max-height:calc(100dvh - 40px);border:1px solid var(--line);border-radius:18px;background:#fffefb;color:var(--ink);padding:24px;box-shadow:0 20px 70px #182c2440;overflow:auto}.studio-dialog::backdrop{background:#14251e80}.studio-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.studio-dialog-heading h2{margin:0}.studio-dialog .field{margin-bottom:16px}.studio-dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.studio-dialog button.button{border-radius:24px}.studio-dialog:not([open]){display:none}
.route-builder .workspace-main,.route-chat .workspace-main{max-width:none;padding:0}.route-builder .workspace-header,.route-chat .workspace-header{display:none}
@media(min-width:980px) and (max-width:1199px){:root{--sidebar-width:280px}.reference-sidebar{padding:10px}}
@media(max-height:800px) and (min-width:980px){.sidebar-secondary>a,.sidebar-secondary>form>button,.sidebar-language{min-height:30px;padding-block:4px}.reference-sidebar .quota-card{padding:8px 10px}.reference-sidebar .nav-item{min-height:35px}.sidebar-account{padding:7px 10px}.reference-sidebar .brand{margin-bottom:7px}.sidebar-history-area{min-height:60px}}
@media(max-width:979px){.workspace-frame{margin-left:0}.reference-sidebar{width:min(320px,88vw);transform:translateX(-100%);z-index:100;box-shadow:8px 0 30px #223b2320}.workspace-body.menu-open .reference-sidebar{transform:translateX(0)}.workspace-header,.route-builder .workspace-header,.route-chat .workspace-header{display:flex;min-height:52px;padding:5px 12px;position:relative}.workspace-header .mobile-menu{display:block}.workspace-header .slash,.workspace-header .header-actions .avatar,.route-chat .workspace-header .help-link,.route-builder .workspace-header .help-link{display:none}.workspace-header .row{gap:8px}.workspace-header .row>span:last-child{max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-main{padding:20px 16px}.sidebar-close{display:block;position:absolute;right:10px;top:4px}.reference-sidebar .brand{padding-right:35px}.studio-dialog{padding:20px;max-height:calc(100dvh - 24px)}}
@media(prefers-reduced-motion:reduce){.reference-sidebar{transition:none}}
@media(max-width:979px){.workspace-body.menu-open{overflow:hidden}.workspace-body.menu-open .menu-backdrop{display:block!important;position:fixed;inset:0;z-index:90;background:#15291f66;border:0;border-radius:0;width:100%;height:100%;padding:0}}
@media(min-width:980px){.reference-sidebar .sidebar-close{display:none}}
@media(min-width:980px){.workspace-header{display:none}}
.reference-sidebar a[aria-current=page]{background:#eaf2e4;color:var(--green);font-weight:600}
.reference-sidebar .brand{font-family:var(--font);font-weight:800;letter-spacing:-.02em}
.reference-sidebar .sidebar-secondary>form>button:not(.icon-button){border:0;border-radius:8px;background:transparent;padding:7px 12px;min-height:35px;font-size:.875rem;box-shadow:none}
.reference-sidebar .sidebar-secondary>form>button:not(.icon-button):hover{background:#edf3e7}
.sidebar-history-link .studio-icon{margin-inline-end:6px}.sidebar-folder summary small{margin-inline-start:6px}
@media(max-width:979px){.reference-sidebar .sidebar-close{display:inline-flex!important}}
@media(min-width:980px){.reference-sidebar .sidebar-close{display:none!important}}
[dir=rtl] .workspace-frame{margin-left:0;margin-right:var(--sidebar-width)}
@media(max-width:979px){[dir=rtl] .workspace-frame{margin-right:0}[dir=rtl] .reference-sidebar{right:0;left:auto;transform:translateX(100%)}[dir=rtl] .workspace-body.menu-open .reference-sidebar{transform:none}}

/* Authentication follows the reference's focused brand-and-card layout. */
.auth-header{display:flex;justify-content:center;max-width:440px;margin:clamp(24px,8vh,90px) auto 32px;padding:0 20px}.auth-header .brand{font-size:1.2rem;gap:10px}.auth-body .public-main{min-height:0}.auth-body .demo-strip{width:min(440px,calc(100% - 32px));margin:0 auto 16px;border-radius:10px}.auth-body .flash{max-width:440px;margin:0 auto 20px}.auth-body .core-auth{margin-top:0!important}@media(max-width:640px){.auth-header{margin:28px auto 24px}.auth-body .flash{margin:0 16px 16px}}

/* Keep all account actions reachable when a short screen cannot fit the shell. */
.reference-sidebar{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin}
/* Open menus and hover states must use the active palette as well as their labels. */
html[data-preview-theme] .language-picker nav,
html[data-preview-theme] .menu-open .public-nav{background:var(--surface);color:var(--ink);border-color:var(--line)}
html[data-preview-theme] .language-picker nav a,
html[data-preview-theme] .menu-open .public-nav a{color:var(--ink)}
html[data-preview-theme] .language-picker nav a:hover,
html[data-preview-theme] .language-picker nav a[aria-current=true],
html[data-preview-theme] .sidebar-secondary>a:hover,
html[data-preview-theme] .reference-sidebar .sidebar-secondary>form>button:not(.icon-button):hover{background:var(--green-2);color:var(--ink)}
